Pan*_*pta 4 objective-c ios5 automatic-ref-counting
虽然这个问题很基础,但我发现继续进行IOS编程非常重要.有时我们过去只声明实例变量,我们不会为它设置任何关联的属性.我们只声明属性并使用synthesize来获取或设置值.有时我觉得有必要在代码中声明两者,当编译给我警告时!在Objective C中操作属性的基础是什么.我知道为任何实例变量创建getter和setter的基本要求,但什么时候?我已经多次看到它们根本不使用属性,之后我们也很容易设置并获得变量的值.此外,我不清楚不同类型的属性,如原子,非原子,强,保留.XCODE升级到4.2已经动摇了我关于内存管理的概念.有人可以在我心中清除云吗?
属性始终是直接ivar访问的首选方式,主要有以下原因:
copy,assign,retain/strong,weak)关键词:
copy:设置时将对象复制到ivarassign:设置时,对象的指针被分配给ivarretain/strong:对象保留在set上weak:在ARC中,这类似于assign,但是nil当实例被释放时将自动设置,也用于垃圾收集环境.nonatomic:访问器不是@synchronized(线程安全的),因此更快atomic:访问器是@synchronized(线程安全的),因此速度较慢一般来说,你应该总是合成一个伊娃.如果出于性能原因需要更快的访问,您也可以直接访问合成的ivar.
| 归档时间: |
|
| 查看次数: |
1895 次 |
| 最近记录: |