OC開發系列-@property和@synthesize
阿新 • • 發佈:2018-04-14
AS ret per get方法 蘋果 return 結構 urn AC
property和synthesize關鍵字
創建一個Person類。
#import <Foundation/Foundation.h> @interface Person : NSObject { int _age; int _height; } - (void)setAge:(int)age; - (int)age; @end #import "Person.h" @implementation Person - (void)setAge:(int)age { _age = age; } - (int)age { return _age; } @end
開發中考慮封裝性將成員屬性通過提供setter與getter結構供外界訪問。但是這些setter跟getter代碼沒有任何技術含量。於是蘋果提供關鍵字property
和synthesize
關鍵字利用編譯器特性將我們自動生成setter跟getter方法。
@property int age;
// - (void)setAge:(int)age;
// - (int)age;
@synthesize age;
/*
- (void)setAge:(int)age
{
}
- (int)age
{
}
*/
@synthesize age雖然幫我們實現了set跟get方法的實現,並未指定將外界傳遞的值對哪個成員屬性進行賦值。如上Person類需要給成員_age復制。
@synthesize age = _age;
OC開發系列-@property和@synthesize