Objective-C学习手册IOSiOS OC 学习手册

关于@property和@synthesize的进一步理解

2016-08-06  本文已影响2552人  Bestmer

前言

@property 和 @synthesize在Xcode4.4以前一直都是配合着使用,在4.4以后,@property得到了增强,一行代码编译器就会自动帮我们生成setter和 getter方法的声明和实现,同时在.m文件中声明一个和属性名一样并且在最前面带有下划线的成员变量 (private)


举个例子

Person.h

@property (nonatomic, assign) NSInteger age;

//  当编译器编译到上面这行代码的时候,会自动生成name的setter and getter方法的声明
- (void)setAge:(NSInteger)age;
- (NSInteger)age;

Person.m
@synthesize age;

//  当编译器编译到上面的代码,会在Person.m里生成一个私有的 _name 实例变量,并自动生成setter and getter的实现部分
@property (nonatomic, assign) NSInteger age;

@synthesize age = _age;

最后

总结一下@property中的修饰符


上一篇下一篇

猜你喜欢

热点阅读