在 iOS 專案中寫註解與文件生成的技巧

Document

寫 Code 最害怕的就是過了兩星期後你已經忘記你曾經寫過什麼,或是這段程式在代表什麼,所以註解與文件就相對顯得重要了,但是有寫過程式的工程師應該沒有一個喜歡寫文件的,那是一個又麻煩有沒有創造力的工作,所以這次我們要示範如何透過  appledoc 這個工具來自動產生文件,簡單的來說就是你寫註解他寫文件啦。

繼續閱讀

了解 Objective-C 上的 KVO(Key-Value Observing) 機制

觀察機制
在很多的程式語言中都會有 data-binding 的機制,那麼在 Objective-C 中有嗎?答案是有的,不過他不稱為 data-binding ,他在 Objective-C 中稱為 KVO (Key-Value Observing),光從名字來看就會知道他可以讓你去偵測某個 Key 中的 Value 是否有被變動,這樣就可以提供開發者比較簡便的方法來當數值變動時會牽動其他程式的運作,所以今天我們就來講一下 KVO 吧。

繼續閱讀

我也會用Xcode做單元測試(Unit Test) PART 1

Unit Testing
寫專案其實最害怕的,莫過於其中某個元件或是類別裡面的邏輯是有問題的,這樣一來的話就會一直跑出錯誤的結果,而且沒有錯誤訊息可以從Console端看出來,這種BUG有時候是需要非常多的時間才能被找出來的。

那怎麼辦呢?所以就有人提出了單元測試(Unit Testing)的觀念,那在Xcode中可以這麼做嗎?這個答案是肯定的,最棒的是Xcode本身就內建了OCUnit Framework,所以我們可以很簡單的用Xcode內建的東西來完成單元測試的動作,這也是今天這篇文章的目的,快快樂樂做單元測試。

繼續閱讀

iOS5之回不去了 – Developer該注意事項

沒錯,iOS5之回不去了又出現了,
老實說我真的很不想再寫這系列的文章,
因為一但出現這個文章就是代表又出問題了。 Orz

好吧,言歸正傳,
這篇是針對我最近在做app在iOS5改版上遇到問題的描述,
對於想開發iOS5或想升級到iOS5開發的開發者一些事前的提醒:

繼續閱讀

iOS5之回不去了 – 用xCode 4.2發佈app

沒想到這麼快又來"iOS5之回不去了"系列了,
老實說我也沒想到來的這麼快,
主要是我把手上所有的app都升級到iOS5的版本,
經過一段程式改寫之後終於把最終版本生出來了,
沒想到最後要發佈到app store上時居然發現,
在xCode 4.2中發佈app的方式變了,
更妙的是在Apple Developer Portal的發佈說明還是xCode 3.x版的說明,
好吧!我知道我的工作來了,
因此"iOS5之回不去了"的文章又出來跟大家見面了。

繼續閱讀

iOS5之回不去了 – 如何使用Reference Counting機制

在上週Apple正式釋出了iOS 5的版本,
同一時間也釋出了Xcode 4.2的版本,
結果當我憑著自己身為Apple iOS Developer,
可以在Xcode中任意downgrade到任何一個版本的優勢,
想說先來嘗鮮一下iOS5,晚一點再回復成iOS4,
結果慘事發生了,因為當我要回復時居然怎麼都回不去了。

沒錯!就是回不去了!!!!
Oh! my god! 我親愛的iOS4居然回不去了 *崩潰*
那以後我是要怎麼測試iOS4啊,臭Apple你還真是狠啊……..
所以如果手上還沒升級iOS5的開發者請自行考慮是否要升級iOS5。

所以這篇要教大家如何要非法的方式downgrade?
當然不是啊…..  Orz

我倒是要來講講如何在Xcode 4.2中可以使用Reference Counting的機制,
在xcode 4.2中新增了Automatic Reference Counting的機制,
可能會造成之前所寫的retain, release這些指令都不能用,
而這篇就是要教大家如何在Xcode 4.2中關閉Automatic Reference Counting。

繼續閱讀

我不喜歡interface builder的幾個理由

*在文章開頭我還是要先說明一下免得大家誤會,
我在文章說的是"不喜歡",而不是"反對"或"批判"。

Apple的iPhone SDK貼心的提供了Xcode和interface builder這兩套工具,
然而在我的使用經驗下實在是不太習慣interface builder這套工具,
所以他在我的專案中永遠都只佔5%以下的使用量,
我分享我不喜歡interface builder的理由跟大家分享,
希望對於準備開發或正在開發的同好有參考的價值:

繼續閱讀