OC中的成员变量和属性是不一样的
@interface Person : NSObject{
//成员变量
NSString *name;
NSInteger age;
}
//属性
@property (nonatomic,copy)NSString *address;
@property(nonatomic,assign)CGFloat height;
-(void)obtainInfo;
@end
属性是用@property来定义的,属性是用_address来访问的,使用@property,
系统自动生成setter和getter.如果属性只使用@property声明,而没使用@synthesize的话,系统会自动的给你声明一个_开头的实例变量。如果又使用@synthesize的话,则相当于声明了一个实例变量,
本文解析Objective-C中成员变量与属性的区别,成员变量直接在类接口中声明,如NSString *name;属性则通过@property定义,如@property NSString *address,系统自动生成setter和getter方法。若未使用@synthesize,系统默认生成_前缀实例变量。
226

被折叠的 条评论
为什么被折叠?



