詳解iPhone應用程序基本開發技能
詳解iPhone應用程序基本開發技能是本文要介紹的內容,很適合移動開發愛好者的一篇文章,不多說,我們先來看內容詳解。
一、Windows下查看Objective-C代碼
比較合適的方案是在UltraEdit增加Objective-C的語法定義。
相關內容引用 http://www.cocoachina.com/bbs/read.php?tid-1054.html
即增加語法定義文件,我在UltraEdit 12.0中使用成功
二、虛擬機MacOS的代碼編輯
用虛擬機來編輯代碼,往往很慢,因此我建議在HOST一側,即WINDOWS上來編輯代碼比較合適,而且你很可以從網絡搜索一些代碼段,需要往代碼里粘。因此WINDOWS上編輯代碼,速度更快,更方便.
macOSX可以用FTP和Samba兩種方法共享文件以WINDOWS使用。用Samba的優點完全雙向的。沒有編碼的問題。但是與虛擬機配合最大問題是虛擬機有不時網絡斷掉。一但網絡斷點,WINDOWS一側軟件跟死掉樣一樣。比如UltraEdit就是如此,強行都殺不死。
如果項目源碼較多,我建議模式是 MacOS X (Samba server) + window(SourceInsight)這種情況最大問題是SourceInsight 不太認識Object-C的語法。
如果只幾個文件的小項目,我建議直接用UltraEdit的FTP打開模式.這種模式優點是能進行Object-C的語法識別,另外FTP模式不容易斷線,斷線扣不影響UltraEdit的操作.
- MacOS X(FTP Server) +Windows(UtlraEdit)
三、調試技術:
最常見是用NSLog象printf一樣輸出。它會輸出到XCode 所帶的GDB 的控制臺上。
相關內容引用 http://wangjun.easymorse.com/?p=757
NSLog的定義
NSLog定義在NSObjCRuntime.h中,如下所示:
- void NSLog(NSString *format, …);
基本上,NSLog很像printf,同樣會在console中輸出顯示結果。不同的是,傳遞進去的格式化字符是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 整數
- %u 無符整形
- %f 浮點/雙字
- %x, %X 二進制整數
- %o 八進制整數
- %zu size_t
- %p 指針
- %e 浮點/雙字 (科學計算)
- %g 浮點/雙字
- %s C 字符串
- %.*s Pascal字符串
- %c 字符
- %C unichar
- %lld 64位長整數(long long)
- %llu 無符64位長整數
- %Lf 64位雙字
調用控制臺是在運行模擬器或連接真機時,點擊GDB按鈕,即可以查看NSSLOG的輸出
四、在項目增加宏定義
XCode的2.2 版前,可以在項目設置里直接增加宏定義.在這個界面之下.
在2.2,加宏定義后有兩種方法:
一種是直接在 <project_name>_Prefix.pch 增加宏定義,這個文件會自動被所有宏引用.
這是其默認內容
- //
- // 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編譯選項組下面
小結:詳解iPhone應用程序基本開發技能的內容介紹完了,希望本文對你有所幫助。