詳解iPhone應(yīng)用程序基本開發(fā)技能
詳解iPhone應(yīng)用程序基本開發(fā)技能是本文要介紹的內(nèi)容,很適合移動開發(fā)愛好者的一篇文章,不多說,我們先來看內(nèi)容詳解。
一、Windows下查看Objective-C代碼
比較合適的方案是在UltraEdit增加Objective-C的語法定義。
相關(guān)內(nèi)容引用 http://www.cocoachina.com/bbs/read.php?tid-1054.html
即增加語法定義文件,我在UltraEdit 12.0中使用成功
二、虛擬機(jī)MacOS的代碼編輯
用虛擬機(jī)來編輯代碼,往往很慢,因此我建議在HOST一側(cè),即WINDOWS上來編輯代碼比較合適,而且你很可以從網(wǎng)絡(luò)搜索一些代碼段,需要往代碼里粘。因此WINDOWS上編輯代碼,速度更快,更方便.
macOSX可以用FTP和Samba兩種方法共享文件以WINDOWS使用。用Samba的優(yōu)點(diǎn)完全雙向的。沒有編碼的問題。但是與虛擬機(jī)配合最大問題是虛擬機(jī)有不時網(wǎng)絡(luò)斷掉。一但網(wǎng)絡(luò)斷點(diǎn),WINDOWS一側(cè)軟件跟死掉樣一樣。比如UltraEdit就是如此,強(qiáng)行都?xì)⒉凰馈?/p>
如果項(xiàng)目源碼較多,我建議模式是 MacOS X (Samba server) + window(SourceInsight)這種情況最大問題是SourceInsight 不太認(rèn)識Object-C的語法。
如果只幾個文件的小項(xiàng)目,我建議直接用UltraEdit的FTP打開模式.這種模式優(yōu)點(diǎn)是能進(jìn)行Object-C的語法識別,另外FTP模式不容易斷線,斷線扣不影響UltraEdit的操作.
- MacOS X(FTP Server) +Windows(UtlraEdit)
三、調(diào)試技術(shù):
最常見是用NSLog象printf一樣輸出。它會輸出到XCode 所帶的GDB 的控制臺上。
相關(guān)內(nèi)容引用 http://wangjun.easymorse.com/?p=757
NSLog的定義
NSLog定義在NSObjCRuntime.h中,如下所示:
- void NSLog(NSString *format, …);
基本上,NSLog很像printf,同樣會在console中輸出顯示結(jié)果。不同的是,傳遞進(jìn)去的格式化字符是NSString的對象,而不是chat *這種字符串指針。
示例
NSLog可以如下面的方法使用:
- NSLog (@”this is a test”);
- NSLog (@”string is :%@”, string);
- NSLog (@”x=%d, y=%d”, 10, 20);
但是下面的寫法是不行的:
- int i = 12345;
- NSLog( @”%@”, i );
原因是, %@需要顯示對象,而int i明顯不是一個對象,要想正確顯示,要寫成:
- int i = 12345;
- NSLog( @”%d”, i );
格式
NSLog的格式如下所示:
- %@ 對象
- %d, %i 整數(shù)
- %u 無符整形
- %f 浮點(diǎn)/雙字
- %x, %X 二進(jìn)制整數(shù)
- %o 八進(jìn)制整數(shù)
- %zu size_t
- %p 指針
- %e 浮點(diǎn)/雙字 (科學(xué)計(jì)算)
- %g 浮點(diǎn)/雙字
- %s C 字符串
- %.*s Pascal字符串
- %c 字符
- %C unichar
- %lld 64位長整數(shù)(long long)
- %llu 無符64位長整數(shù)
- %Lf 64位雙字
調(diào)用控制臺是在運(yùn)行模擬器或連接真機(jī)時,點(diǎn)擊GDB按鈕,即可以查看NSSLOG的輸出
四、在項(xiàng)目增加宏定義
XCode的2.2 版前,可以在項(xiàng)目設(shè)置里直接增加宏定義.在這個界面之下.
在2.2,加宏定義后有兩種方法:
一種是直接在 <project_name>_Prefix.pch 增加宏定義,這個文件會自動被所有宏引用.
這是其默認(rèn)內(nèi)容
- //
- // Prefix header for all source files of the 'iphone.socket' target in the 'iphone.socket' project
- //
- #ifdef __OBJC__
- #import <Foundation/Foundation.h>
- #import <UIKit/UIKit.h>
- #endif
- #define TARGET_OS_IPHONE 1
另外一個種方法是GCC編譯選項(xiàng)組下面
小結(jié):詳解iPhone應(yīng)用程序基本開發(fā)技能的內(nèi)容介紹完了,希望本文對你有所幫助。