
也可以利用具有語法高亮度顯示的文字編輯器,或是整合開發環境 (Integrated Development Environment, IDE) ,如下圖為 Mac 系統的 Xcode

使用本站的語法高亮度顯示,此範例程式 demo.m 如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | // 引入 Foundation.h #import <Foundation/Foundation.h> // 定義 main() 函數 int main( int argc, char *argv[]) { // 建立自動釋放池物件, alloc 為配置記憶體區域, init 為初始化物件 NSAutoreleasePool * pool = [[ NSAutoreleasePool alloc ] init ]; // 建立三個 NSString 字串物件 NSString *s 1 = @"\n\n這是 Objective-C 的第一個程式...\n" ; NSString *s 2 = @"使用 Foundation.h 中的 NSLog() 來輸出...\n" ; NSString *s 3 = @"程式執行結束...\n\n" ; // 傳遞 autorelease 訊息給 NSString 字串物件 [s 1 autorelease ]; [s 2 autorelease ]; [s 3 autorelease ]; // 傳遞 stringByAppendingString 訊息給 s1 ,並以 s2 當參數 // 這是將 s2 接到 s1 的後頭,因此 s1 與 s2 會合併為一個字串 s 1 = [s 1 stringByAppendingString : s2 ]; // 以下為將 s1 與 s3 合併為一個字串 s 1 = [s 1 stringByAppendingString : s3 ]; // 呼叫 NSLog() 函數,印出 s1 的內容 NSLog(s 1 ); // 傳遞 drain 訊息給自動釋放池物件 [pool drain ]; // 程式結束,回傳整數 0 給作業系統 return 0 ; } /* 《程式語言教學誌》的範例程式 檔名: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 *s 1 |
NSAutoreleasePool 與 NSString 是屬於 Foundation.h 裡定義的類別,我們在這裡用來建立自動釋放池 (autorelease pool) 物件 (object) 與字串物件。 Foundation 為 Cocoa 中基礎的應用框架,絕大多數情況都需要運用裡頭的東東,因此要先用前置處理器 (preprocessor) #import 進程式檔案中。
至於中括號圍起來的幾個地方
[[ NSAutoreleasePool alloc ] init ] [s 1 autorelease ]; [s 2 autorelease ]; [s 3 autorelease ]; [s 1 stringByAppendingString : s2 ]; [s 1 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 為初始化物件 /* 《程式語言教學誌》的範例程式 檔名: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
沒有留言:
張貼留言