Objective-C語言關鍵詞,與@synthesize配對使用。
功能:讓編譯器自動編寫一個與數據成員同名的方法聲明來省去讀寫方法的聲明。
如:
1、在頭文件中:
@property int variable;
等效於在頭文件中聲明2個方法:
- (int)variable;
-(void)setVariablet:(int)newVariable;
2、實現文件(.m)中
@synthesize variable;
等效於在實現文件(.m)中實現2個方法。
- (int)Variable
{
return variable;
}
-(void)setVariable:(int)newVariable
{
variable = newVariable;
}
以上等效的函數部分由編譯器自動幫開發者填充完成,簡化了編碼輸入工作量。
編輯本段
格式
聲明property的語法爲:
@property (參數1,參數2) 類型 名字;
如:
@property(nonatomic,retain) Variable *variable;
其中參數主要分爲三類:
讀寫屬性: (readwrite/readonly)
setter語意:(assign/retain/copy)
原子性: (atomicity/nonatomic)
各參數意義如下:
readwrite
產生setter\getter方法
readonly
只產生簡單的getter,沒有setter。
assign
默認類型,setter方法直接賦值,而不進行retain操作
retain
setter方法對參數進行release舊值,再retain新值。
copy
setter方法進行Copy操作,與retain一樣
nonatomic
禁止多線程,變量保護,提高性能