@synthesize obj=_obj个人理解
来源:互联网 发布:彩票统计软件 编辑:程序博客网 时间:2024/06/03 15:19
如影随形的property
正常情况下synthesize有一个小伙伴property,这个小伙伴比synthesize更加的耀眼,因为当你在接口中使用了@property而不使用@synthesize的时候,Xcode是不会报错的,反而会帮你生成两个方法和一个变量。比如:
@property (nonatomic,strong) NSString* obj;
此时xcode会生成一个setObj和getObj方法,以及一个名为_obj成员变量。因此你可以在实现文件的代码里面使用 _obj此变量,也可以使用self.obj对此变量进行访问,因为self.obj是 _obj的getter以及setter方法的缩写。
那么如果在实现文件里面声明了synthesize又是什么效果呢?
@property (nonatomic,strong) NSString* obj;@synthesize obj;
此时代码其实就等价于
@property (nonatomic,strong) NSString* obj;@synthesize obj=obj;
此代码的效果就是xcode生成变量obj以及setObj和getObj方法,所以在实现文件中可以使用obj这个变量,以及self.obj访问obj这个变量,因为self.obj是obj的getter和setter方法的缩写。
还有一种写法:
@property (nonatomic,strong) NSString* obj;@synthesize obj=_obj;
此代码的效果是xcode生成一个setObj和getObj方法,以及一个名为_obj成员变量。因此你可以在实现文件的代码里面使用 _obj此变量,也可以使用self.obj对此变量进行访问,因为self.obj是 _obj的getter以及setter方法的缩写。和第一个写法的结果是一样的。
小结
@property x声明了self.x这个存取方法(getter和setter),@synthesize就是生成这两个方法。(省略了也会自动生成),使用@synthesize x=y含义就是生成一个y变量(这个y必须要先声明的),然后生成y的存取方法setY和getY,其缩写是self.x。
参考网址:http://www.jianshu.com/p/69f7bc1beb87
- @synthesize obj=_obj个人理解
- @synthesize obj=_obj的理解
- @synthesize obj = _obj
- @synthesize obj=_obj的意义详解 @property和@synthesize
- @synthesize obj=_obj的意义详解 @property和@synthesize
- @synthesize obj=_obj的意义详解 @property和@synthesize
- @synthesize obj=_obj的意义详解 @property和@synthesize
- @synthesize obj=_obj的意义详解 @property和@synthesize
- @synthesize obj=_obj的意义详解 @property和@synthesize
- @synthesize obj=_obj的意义详解 @property和@synthesize
- @synthesize obj=_obj的意义详解 @property和@synthesize
- @synthesize obj=_obj的意义详解 @property和@synthesize
- @synthesize obj=_obj的意义详解 @property和@synthesize
- @synthesize obj=_obj的意义详解 @property和@synthesize
- @synthesize obj=_obj的意义详解 @property和@synthesize
- @synthesize obj=_obj的意义详解 @property和@synthesize
- @synthesize obj=_obj的意义详解 @property和@synthesize
- @synthesize obj=_obj的意义详解 @property和@synthesize
- Timus Online Judge 1033 Labyrinth
- Android基础入门教程——8.3.13 Paint API之—— Shader(图像渲染)
- java截取字符串,截串,substring和split,分割字母和数字,正则缝隙
- [TwistedFate]Block 字面量
- 糖果<DP><C++>
- @synthesize obj=_obj个人理解
- 图像的透视变换(opencv2实现)
- leetcode-Roman to Integer
- 在IE6/7中兼容JSON.parse和JSON.stringify
- 【反思】:数理逻辑的缺失
- OC多态练习-支付宝(存款、转账、在程序运行时读取上次运行结束时的存款余额)
- Train Problem I
- 日经春秋 20151104
- **[Hive]用concat_w实现将多行记录合并成一行**