也可以利用具有語法高亮度顯示的文字編輯器,或是整合開發環境 (Integrated Development Environment, IDE) ,如下圖為 Mac 系統的 Xcode
使用本站的語法高亮度顯示,此範例程式 demo.m 如下
// 引入 Foundation.h #import <Foundation/Foundation.h> // 定義 main() 函數 int main(int argc, char *argv[]) { // 建立自動釋放池物件, alloc 為配置記憶體區域, init 為初始化物件 NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; // 建立三個 NSString 字串物件 NSString *s1 = @"\n\n這是 Objective-C 的第一個程式...\n"; NSString *s2 = @"使用 Foundation.h 中的 NSLog() 來輸出...\n"; NSString *s3 = @"程式執行結束...\n\n"; // 傳遞 autorelease 訊息給 NSString 字串物件 [s1 autorelease]; [s2 autorelease]; [s3 autorelease]; // 傳遞 stringByAppendingString 訊息給 s1 ,並以 s2 當參數 // 這是將 s2 接到 s1 的後頭,因此 s1 與 s2 會合併為一個字串 s1 = [s1 stringByAppendingString: s2]; // 以下為將 s1 與 s3 合併為一個字串 s1 = [s1 stringByAppendingString: s3]; // 呼叫 NSLog() 函數,印出 s1 的內容 NSLog(s1); // 傳遞 drain 訊息給自動釋放池物件 [pool drain]; // 程式結束,回傳整數 0 給作業系統 return 0; } /* 《程式語言教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:demo.m 功能:示範 Objective-C 程式 作者:張凱慶 時間:西元 2012 年 7 月 */
我們先看到有特殊顏色標記的幾個字
int char return
int 、 char 、 return 被稱為關鍵字 (keyword) ,所謂的關鍵字是語法功能的保留字 (reserved word) ,具有既定特殊的用法,例如 int 與 char 為 Objective-C 的基本資料型態 (basic data type) , return 為函數 (function) 回傳數值之用。 Objective-C 承接 C 語言所有的關鍵字,我們接下來會逐一介紹各個關鍵字的用法。
其他特殊顏色標記的幾個字
NSAutoreleasePool *pool NSString *s1
NSAutoreleasePool 與 NSString 是屬於 Foundation.h 裡定義的類別,我們在這裡用來建立自動釋放池 (autorelease pool) 物件 (object) 與字串物件。 Foundation 為 Cocoa 中基礎的應用框架,絕大多數情況都需要運用裡頭的東東,因此要先用前置處理器 (preprocessor) #import 進程式檔案中。
至於中括號圍起來的幾個地方
[[NSAutoreleasePool alloc] init] [s1 autorelease]; [s2 autorelease]; [s3 autorelease]; [s1 stringByAppendingString: s2]; [s1 stringByAppendingString: s3]; [pool drain];
這是傳遞訊息 (message passing) 給物件,前面如 s1 、 s2 稱之為識別字 (identifier) ,所謂的識別字是我們寫程式自行定義的名稱,空一格後的稱之為訊息 (message) 。多數衍生自 C++ 的物件導向程式語言泰半稱之為「呼叫方法」,而 Objective-C 源自 Smalltalk ,也承接 Smalltalk 傳遞訊息的風格特色。
另外,雙引號外加 @ 圍起來的內容則為另一種顏色
@"\n\n這是 Objective-C 的第一個程式...\n"; @"使用 Foundation.h 中的 NSLog() 來輸出...\n"; @"程式執行結束...\n\n";
這是 NSString 字串物件,所謂字串就是文字資料,而 NSString 有別於 C 語言的字串 (string) 常數, NSString 可以物件的模式進行操作。
註解 (comment) 在語法高亮度系統也有特殊的顏色,連續兩個斜線為單行的注釋,斜線、星號開始到另一組星號、斜線結束的範圍則為多行的註解
// 引入 Foundation.h // 定義 main() 函數 // 建立自動釋放池物件, alloc 為配置記憶體區域, init 為初始化物件 /* 《程式語言教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:demo.m 功能:示範 Objective-C 程式 作者:張凱慶 時間:西元 2012 年 7 月 */
所謂的註釋就是在程式中輔助說明的文字,凡是註釋文字,也就單行連續兩個斜線之後的文字,或是多行斜線、星號範圍間的文字,這些文字都不屬於會被程式執行的部份,因此可用自然語言替程式說明,無須恪守 Objective-C 的語法規則。
這個範例很簡單,只有在 main() 中呼叫 NSLog() 函數印出字串訊息。我們先來利用 Xcode 編譯與測試吧!
中英文術語對照 | |
---|---|
文字編輯器 | text editor |
整合開發環境 | Integrated Development Environment, IDE |
保留字 | reserved word |
基本資料型態 | basic data type |
函數 | function |
自動釋放池 | autorelease pool |
物件 | object |
前置處理器 | preprocessor |
傳遞訊息 | message passing |
識別字 | identifier |
訊息 | message |
字串 | string |
註解 | comment |
您可以繼續參考
基礎篇
相關目錄
Objective-C 入門指南
Objective-C 教材
首頁
參考資料
Learning Objective-C: A Primer
The Objective-C Programming Language
Cocoa Fundamentals Guide
Coding Guidelines for Cocoa
Advanced Memory Management Programming Guide
Archives and Serializations Programming Guide
沒有留言:
張貼留言