static, public -----
- "+": 與Java的static相同,執行完後面的行為後隨時會被回收
- "-": 與Java的public類似(但private方法的前面也是使用此符號),執行完後面的行為後因為有實體的記憶體位置,故會放入release pool裡等待釋放
@interface TEST: NSObject // 公開方法 - (void)publicMethod; // 靜態方法 + (void)staticMethod; @end |
使用公開方法
TEST* test = [TEST alloc] init]; [test publicMethod]; [test release]; |
使用靜態方法
[TEST staticMethod] |
@property -----
- 默認屬性
- readwrite 自動生成存取器setter、getter
- assign 處理基礎類型,如int、float...
- 修飾屬性
- natomic 與Java的synchronized類似,在多執行緒時保護參數的同步
- readonly 只生成getter不會有setter方法
- copy 與Java的clone類似,複製一個與原物件不同記憶體位置的新物件
- retain 自動retain物件
TEST.h
@interface TEST: NSObject { NSString* param; } @property (nonatomic, retain) NSString *param; @end |
@implementation TEST @synthesize param; - (id)init{} @end |
參數的@public, @protected, @private -----
@interface TEST: NSObject { @public NSString* publicString; @protected NSString* protectedString; @private NSString* privateString; } @end |
-----
方法的private宣告 -----
- 寫在實現的文件中,此範例為TEST.m
- 需在@implementation上描述
#import "TEST.h" @interface TEST (private) - (void) privateMethod @end @implementation TEST - (id)init { ... } - (void)privateMethod { ... } @end |
沒有留言:
張貼留言