- Objective-C和Sprite Kit游戲開發從入門到精通
- 曹化宇
- 1369字
- 2021-01-07 18:57:35
1.3 第一個Objective-C程序
接下來,我們繼續使用SimpleOC項目,在導航欄中,單擊main.m文件,如圖1-7所示(已關閉右欄)。

圖1-7 命令行項目中的main.m文件
如果不小心按了鍵盤上的Command+R鍵,或者是單擊了工具欄中的小三角圖標,你會發現,在界面的下方會顯示一條信息,如圖1-8所示。

圖1-8 命令行執行結果
我們看到,輸出窗口顯示了一條“Hello World”信息,只是把名字叫錯了,我可不叫“World”。好的,我們將代碼中的“World”修改為自己的名字,這樣,Xcode就真的是好像在給我們打招呼了,如下面的代碼。
NSLog(@"Hello, 你的名字!");
接下來,我們看看這些各種顏色的代碼都是什么情況(它們有點像航空母艦上的艦員,根據不同的顏色來區分工作崗位)。
首先是綠色的內容,它們只是說明性的文字,稱為注釋。本例中,它們都是以“//”開始的行,刪除它們不會對運行結果有任何影響,說干就干,下面就是去掉了綠色內容以后的代碼。
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { NSLog(@"Hello, World! "); } return 0; }
這些代碼就是程序執行相關的內容,我們快速了解一下它們的功能。
第一行代碼是以“#”符號開頭的,它稱作預處理指令,#import指令用于導入當前代碼文件中所需要使用的資源。一般情況下,我們會導入頭文件(.h文件),這和C或C++代碼中使用的#include指令的功能是相同的。
在導入頭文件時,主要使用兩種格式:
? 使用< >包含頭文件,用于引用系統資源,主要是指Xcode中內置的一些開發資源,如代碼中的Foundation.h文件。
? 使用" "包含頭文件,用于引用“外部”資源,這里的“外部”是指非Xcode內置開發資源,如第三方或者你自己開發的代碼。
接下來的main()函數,相信學習過C語言的朋友一定不會陌生,沒錯,它就是程序的入口,代碼會從這里開始執行。在()中是函數的參數,main()中的兩個參數與C語言中的相似,其中,args帶入命令行指令和參數的數量(使用空白字符分隔),參數argv包含了這些內容。
再看@autoreleasepool指令(@開頭的語句也是一種指令),不明白是什么,我們拆開來看,就是auto release pool,自動釋放池?這是什么情況呢?實際上,這是Objective-C中一種新的內存自動管理機制,稱為ARC(Automatic Reference Counting,自動引用計數)。
在Objective-C代碼中,使用ARC技術,可以有效地對內存進行自動管理,將程序員從復雜的內存管理工作中解放出來。如果你在C語言中使用過malloc()、free()等函數手工管理過內存,就會明白我在說什么了。當然,沒有玩過C也沒關系,現在我們只需要知道,使用Objective-C編程時,在main()函數中使用@autoreleasepool指令就可以使用ARC了,如果你沒有百分之二百的信心能夠比ARC更好地管理內存,那就選擇使用ARC吧。
NSLog()函數用于顯示調試信息,其中,第一個參數是顯示的內容,可以包含格式化字符;第二個參數開始是格式化字符所對應的數據。下面的代碼會顯示一個整數的數據。
@autoreleasepool { int intNum = 1; NSLog(@"intNum = %i", intNum); // intNum = 1 }
最后的return語句用于向函數的調用者返回執行結果(活兒干得怎么樣,給調用者發個信號),一般來講,代碼0就意味著任務順利完成了。對于main()函數來講,它的調用者就是操作系統。
通過代碼的執行,我們看到,第一個程序的主要功能就是顯示一條文本信息,這些信息包含在“@”中,我們稱為字符串(string)。在Objective-C中,可以使用兩種風格的字符串:
? C風格字符串,即使用字符數組(char[])組成的字符串,這種字符串除了真正的字符內容,還會由ASC II碼中的0值字符(NULL)作為結束,使用轉義字符“\0”表示。
? 字符串對象,使用NSString或NSMutableString類型處理字符串內容。前面的代碼中,使用@""定義的字符串就是NSString對象,大部分情況下,我們會使用這種字符串。
更多字符串的處理,會在第7章詳細介紹。
- Word Excel PPT商務辦公從新手到高手(白金全彩版)
- 非常Easy:Excel高效辦公
- Office辦公高手應用技巧
- 中文版AutoCAD 2016園林設計從入門到精通
- Excel商務圖表應用與技巧108例
- Excel行政文秘應用之道
- 快速編碼:高效使用MicrosoftVisualStudio
- Excel商務數據分析:思維、策略與方法
- Excel人力資源應用之道
- Excel高效辦公:公司管理(修訂版)
- Excel函數、圖表與透視表從入門到精通(全新版)
- 從小白到高手Logic Pro X快速上手教程
- 企業云桌面規劃、部署與運維
- 辦公自動化高級應用案例教程(微課版)
- SDL Trados Studio – A Practical Guide