属性只是为您的数据声明访问器的一种便捷方式。它通常会导致一些成员变量,但不一定。并且该成员 var 可以具有不同的名称:
@interface myController : UITableViewController {
NSArray *mSamples;
}
@property (nonatomic, retain) NSArray *samples
@end
@implementation
@synthesize samples = mSamples;
@end
或者您可以使用完全没有 var 的属性:
@interface myController : UITableViewController {
}
@property (nonatomic, retain) NSArray *samples
@end
@implementation
-(NSArray*) samples {
//you can for example read some array from file and return it
}
-(void) setSamples:(NSArray*) arr {
//write that array to file or whatever you want
}
@end
使用新的编译器,您可以使用完全没有 ivars 的属性,编译器会为您隐式生成它们。