所以新增一個類別 (class) 等於要加入兩個檔案,也就是類別的標頭檔與實作檔。 Xcode 中,新增檔案利用選單的 New File...
這時會開啟 New File 視窗,這裡要選擇我們要新增的 Objective-C class 檔案類型
然後輸入檔名,檔名其實也就是類別名稱,就 Encrypt.m 囉!記得,下面的 Also create "Encrypt.h" 也要有勾選
這樣在 Xcode 中就完成新增類別的標頭檔與實作擋了,檔案可能有預設內容,我們直接以接下來所寫的程式覆寫過去即可。
現在來想想 Encrypt 中需要什麼屬性 (property) 與方法 (method) 。首先,我們需要一個 NSArray 來儲存按字母順序的英文字母表,另外需要一個 NSMutableArray 儲存密碼對換表,還要有編碼用的 toEncode: 以及解碼用的 toDecode: 兩個方法。
因為有兩個屬性物件,這就是說我們需要兩個表格屬性的 setter 與 getter 方法。 setter 部份,我們會用等同建構子 (constructor) 的 initRandomEncrypt 方法來取代, getter 的話, Encrypt.h 利用 @property 指令宣告, Encrypt.m 則用 @synthesize 指令宣告,這樣編譯器 (compiler) 就會自動增加 getter 囉!
我們的 Encrypt.h 如下
#import <Foundation/Foundation.h> @interface Encrypt: NSObject { NSMutableArray *cArray; NSArray *oArray; } @property (retain) NSMutableArray *cArray; @property (retain) NSArray *oArray; - (id) initRandomEncrypt; - (NSString *) toEncode: (NSString *) s; - (NSString *) toDecode: (NSString *) s; @end /* 《程式語言教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:Encrypt.h 功能:示範 Objective-C 程式 作者:張凱慶 時間:西元 2012 年 7 月 */
除了在介面檔中宣告 @property 外,實作檔也要宣告 @synthesize ,我們來詳細討論一下 @property 與 @synthesize 吧!
中英文術語對照 | |
---|---|
介面 | interface |
實作 | implement |
類別 | class |
屬性 | property |
方法 | method |
建構子 | constructor |
編譯器 | compiler |
引用計數 | reference count |
您可以繼續參考
軟體開發
相關目錄
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
沒有留言:
張貼留言