1,set方法內存管理相關的參數
*retain:release舊值,retain新值(適用于OC對象類型)
*assign:直接賦值(默認,只用于非OC對象類型)
*copy: release舊值,copy新值
2,是否要產生set方法;
*readwrite:同時產生setter和getter的聲明,實現(默認)
*readonly : 只會生產getter的聲明,實現
@PRoperty (readonly) int height;
3,多線程管理:
*nonatomic: 性能高(一般用這個)
*atomic : 性能低(默認)
4,setter和getter方法的名稱
*setter:決定了set方法的名稱,一定要有個冒號
*getter: 決定了get方法的名稱(一般用在bool類型的get方法)
@property (getter= isRich) BOOL rich;//返回BOOL類型的方法名一般以is開頭
1,oc對象類型:
@property (nonatmotic, retain) 類名 * 屬性名;
@property (nonatmotic, retain) Car * car;
@property (nonatmotic, retain) id car;
被retain過的屬性,必須在dealloc方法中release
-(void) dealloc
{
[_car release];
[super dealloc];
}
2,非OC對象類型(int/float/enum/struct)
@property (nonatmotic, assign) 類型名稱 屬性名;
@property (nonatmotic, assign) int age;
新聞熱點
疑難解答