Objective-C學(xué)習(xí)之路 使用Xcode (3)
Objective-C學(xué)習(xí)之路 使用Xcode (3)是本文要介紹的內(nèi)容,Objective-C學(xué)習(xí)之路 使用Xcode (2)繼續(xù)上節(jié)介紹,本文分為幾個小節(jié)進(jìn)行介紹,如果你感興趣的話,請一直關(guān)注。Xcode功能很多,以下介紹常用的功能,幫助Objective-C開發(fā)人員提高編碼和調(diào)試效率。
快速打開文件
有時候,我們想快速打開頭文件,比如:
這里的Cocoa.h到底是啥內(nèi)容??梢允髽?biāo)選中Cocoa.h,如上圖。然后:
這時會彈出對話框:
雙擊Cocoa.h條目就可以看到了:
另外,還有個更方便的操作,針對頭文件的,就是按住command鍵鼠標(biāo)雙擊類型(函數(shù)、變量等)名稱。會在源代碼窗口中顯示該類型的頭文件。
使用書簽
以前在使用Eclipse,我經(jīng)常用到TODO標(biāo)簽功能,比如正在編寫代碼的時候需要做其他事情,或者提醒自己以后再實現(xiàn)的功能,就寫個TODO注釋,這樣,可以在Eclipse的視圖中可以找到,方便以后找到這個代碼并修改。
Xcode中是否有相應(yīng)的功能呢?我現(xiàn)在覺得書簽功能可以做類似的事情。
比如我寫了個代碼:
這個方法是空的,printInfomation。暫時不需要實現(xiàn)。但是要記下來,便于以后能找到并補(bǔ)充。那么讓光標(biāo)在方法內(nèi)部。然后鼠標(biāo)右鍵,Add to Bookmarks:
然后會彈出對話框,在里面填寫標(biāo)簽的內(nèi)容,比如:
這樣,就可以在項目的書簽節(jié)點(diǎn)找到這個條目了:
點(diǎn)擊該條目,將回到剛才添加書簽時光標(biāo)的位置。
自定義導(dǎo)航條
在代碼窗口上邊,有一個工具條。提供了很多方便的導(dǎo)航功能。比如:
也可以用來實現(xiàn)上面TODO的需求。這里有兩種自定義導(dǎo)航條的寫法。其中:
- #pragma mark
是標(biāo)準(zhǔn)寫法。而:
- // TODO: xxx
- // FIXME: xxx
是Xcode兼容的格式。
完整的代碼:
產(chǎn)生了這樣的導(dǎo)航條效果:
使用Xcode幫助
如果想快速的查看官方API文檔,可在源代碼中按下option鍵并鼠標(biāo)雙擊該類型(函數(shù)、變量等),比如,下面是NSString的API文檔對話框:
如果點(diǎn)擊上面標(biāo)識的按鈕,則會彈出完整文檔的窗口:
調(diào)試代碼
最樸素的調(diào)試方法,是通過NSLog打印出程序運(yùn)行中的結(jié)果,然后根據(jù)這些結(jié)果判斷程序運(yùn)行的流程和結(jié)果值是否符合預(yù)期。對于簡單的問題,使用這種方式也許就夠用了。
但是,如果開發(fā)的是商業(yè)項目,它往往足夠復(fù)雜,需要借助Xcode提供的專門調(diào)試工具。所有的編程工具的調(diào)試思路都是一樣的。首先,你要在代碼中設(shè)置斷點(diǎn)。想象一下,程序的執(zhí)行是順序的,你可能懷疑某個地方的代碼除了問題(引發(fā)bug),那么就在這段代碼開始的地方,比如是個方法的***行,或者循環(huán)的開始部分,設(shè)置一個斷點(diǎn)。那么程序在調(diào)試時會在運(yùn)行到斷點(diǎn)時中止,接下來,你可以一行一行的執(zhí)行代碼,判斷執(zhí)行順序是否是自己預(yù)期的,或者變量的值是否和自己想的一樣。
設(shè)置斷點(diǎn)很簡單,比如想對紅框表示的行設(shè)置斷點(diǎn),就單擊該行左側(cè)紅圈位置:
單擊后會出現(xiàn)斷點(diǎn)標(biāo)志:
然后,運(yùn)行代碼,比如用快捷鍵:command+enter。這時將運(yùn)行代碼,并停止在斷點(diǎn)處:
可通過shift+command+y,調(diào)出調(diào)試對話框:
這和其他語言IDE工具的界面大同小異,因為都具有類似的功能??赏ㄟ^:
continue,繼續(xù)執(zhí)行程序
step over, step into, step out,用于單步調(diào)試,分別表示:
step over:將執(zhí)行當(dāng)前方法內(nèi)的下一個語句
step into:如果當(dāng)前語句是方法調(diào)用,將單步執(zhí)行當(dāng)前語句調(diào)用方法內(nèi)部***行
step out:將跳出當(dāng)前語句所在方法,到方法外的***行
通過調(diào)試工具,可以對應(yīng)用做全面和細(xì)致的調(diào)試。
小結(jié):Objective-C學(xué)習(xí)之路 使用Xcode (3)的內(nèi)容介紹完了,希望本文對你有所幫助!請參與以下兩節(jié)。