IOS中self.xx 和 _xx 的区别
2015-10-26 14:58
288 查看
如果引用的话不会有区别,是同一个指针;
如果赋值是有区别的 self.xx = oo 首先把xx.retaincount -1,然后retain
oo _xx复制直接指向oo 不存在retain这一
步步。其实,前者调用该类的setter或getter方法,后者直接获取自己的实例变量。property
和 instance variable 是有区
别的。
前者声明后,如果没有readonly修饰的话,该类获得两个方法,一个是setter和getter。property声明后,该类会获
得一个同名但前面多了一个下划线的实例变量。setter和getter是访问这个实例变量的方法。
在类的m文件里可以直接用实例变量名来访问自身的实例变量,但是setter和getter方法不会被调用。外部想用该类的实
例变量需要用getter和setter方法。
如果赋值是有区别的 self.xx = oo 首先把xx.retaincount -1,然后retain
oo _xx复制直接指向oo 不存在retain这一
步步。其实,前者调用该类的setter或getter方法,后者直接获取自己的实例变量。property
和 instance variable 是有区
别的。
前者声明后,如果没有readonly修饰的话,该类获得两个方法,一个是setter和getter。property声明后,该类会获
得一个同名但前面多了一个下划线的实例变量。setter和getter是访问这个实例变量的方法。
在类的m文件里可以直接用实例变量名来访问自身的实例变量,但是setter和getter方法不会被调用。外部想用该类的实
例变量需要用getter和setter方法。
相关文章推荐
- iOS 缓存机制 (以SDWebImage 缓存图片为例)
- iOS 屏幕旋转问题
- iOS首页广告滚动栏循环
- IOS--JSON介绍
- IOS渐变图层CAGradientLayer
- IOS中的XML解析之DOM和SAX
- iOS GCD中的dispatch_group
- ios 类似淘宝评论星星功能
- iOS - 应用程序国际化
- iOS开发 - NSBundle, NSDevice, NSLocale
- class-dump 使用
- ios如何获取xib自动布局后视图的宽度和高度
- IOS--─自定义加载等待框(MBProgressHUD)
- IOS 然你的新建的view 盖住系统键盘的做法
- IOS--错误集锦--Undefined symbols for architecture x86_64:
- iOS 关于本地持久化存储的探讨
- 关于升级iOS9.0之后,项目中若干错误的解决方法
- IOS 第三方库 - SDWebImage
- IOS 开发,调用打电话,发短信,打开网址
- 工具推荐 - windows下iOS设备越狱的