OC的@property和@synthesize

前提是你 提交于 2019-12-07 14:49:37


1. 成员变量和属性的区别。

@interface User : NSObject

{

    int _height; // 成员变量,不会自动生成setter 和getter方法。

}


@property (strong, nonatomic) NSString *uid; // 属性。 会自动生成setter和getter方法。

@property (assign, nonatomic) int age;


2. 

@property 和 @synthesize 

  声明一个setter getter 方法
@synthesize 实现setter getter 方法

在Xcode4.5及以后的版本中,可以省略@synthesize ,编译器会自动帮你加上getter 和 setter 方法的实现,并且默认会去访问_age这个成员变量,如果找不到_age这个成员变量,会自动生成一个叫做 _age私有成员变量。

如果加了 

@synthesize age; 则可以使用age的成员变量。


3. 由于书写习惯,OC中定义成员变量的时候,习惯写 _age 的这种形式。




标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!