
我們的介面檔 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 就不需要用大括弧額外宣告屬性,可是在 Xcode 3.1 會發生編譯錯誤,因此我們的介面檔仍有加進大括弧宣告屬性。
@property 的宣告 (declaration) 如同大括弧中的屬性 (property) ,同樣要標明屬性的型態 (type)
@property (retain) NSMutableArray *cArray; @property (retain) NSArray *oArray;
此外還有小括弧的宣告值,有三大類,如下表
| 讀寫性 |
| ||||||||||||||||||
| setter 相關 |
| ||||||||||||||||||
| 自動性 |
|
這裡,我們只有用 retain ,工作就是將引用計數 (reference count) 遞增。
對應到實作檔,我們的 Encrypt.m 雛型如下
#import <Foundation/Foundation.h>
#import "Encrypt.h"
@implementation Encrypt
@synthesize cArray, oArray;
- (id) initRandomEncrypt
{}
- (NSString *) toEncode: (NSString *) s
{}
- (NSString *) toDecode: (NSString *) s
{}
@end
/* 《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:Encrypt.m
功能:示範 Objective-C 程式
作者:張凱慶
時間:西元 2012 年 7 月 */@synthesize 只要放屬性名稱就可以了
@synthesize cArray, oArray;
有三個方法 (method) 等著實作,別急,我們先來詳細討論一下屬性之一的 oArray ,也就是 NSArray 類別 (class) 囉!
| 中英文術語對照 | |
|---|---|
| 介面檔 | interface file |
| 實作檔 | implementation file |
| 宣告 | declaration |
| 屬性 | property |
| 型態 | type |
| 引用計數 | reference count |
| 方法 | method |
| 類別 | class |
您可以繼續參考
軟體開發
相關目錄
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
1 則留言:
atomic/nonatomic 不是「自動性」。比較接近「一致性」,和 multi-thread programming 有關。
張貼留言