【Objective-C】OC中点语法的内存管理
2014-02-11 14:52
309 查看
下面来一起学习一下点语法的内存管理 (一):赋值 assign:直接赋值,默认 retain:保留对象 copy:拷贝对象 示例代码: @property (assign)Person *person; @synthesize person=_person; 当使用retain的时候为: -(void)setPerson:(Person *)person{ if(_person!=person){ [_person release]; _person=[person retain]; } }当使用copy的时候(必须对象要实现copy协议) -(void)setPerson:(Person *)person{ if(_person!=person){ [_person release]; _person=[person copy]; } }(二):读写性 readwrite:生成getter,setter方法,默认 readonly:生成那个getter方法 示例代码: -(void)setPerson:(Person *)person{ @synchronized(self){ _person=person; } } //设置方法(三):原子性 atomic:多线程环境下 ,存在线程保护,默认 noatomic:多线程环境下,不存在线程保护 示例代码: -(Person *)person{ @synchronized(self){ return _person; } }区别: assign:直接赋值,只是一个别名而已 retain:保留该对象,两个对象指向了同一个位置 copy:开辟了一个新的内存空间,分别指向了不同的内存位置,引用计数分别为1, 不过与之前的对象没有任何关系(特殊情况除外) |
相关文章推荐
- 【Objective-C】OC中点语法的内存管理
- 【Objective-C】OC中点语法的内存管理
- OC内存管理教程之ARC(一)——objective-c内存管理和引用计数
- 11-Objective-C特有语法:内存管理总结
- 【IOS 开发学习总结-OC-24】★★★objective-c——内存管理
- Objective-C 【OC语法:不能修改 某个对象的 结构体属性的 成员】
- OC语法6——内存管理之引用计数器(retain,release)
- Objective-C 学习笔记(2) -- OC的内存管理
- [Objective-c 基础 - 2.2] OC弱语法、类方法
- OC语法<2.2>内存管理:手动内存管理2
- OC基础语法(五)---内存管理
- iOS开发系列—Objective-C之内存管理oc
- 小糖出品:oc中点语法的使用
- Objective-C语法之内存管理
- iOS开发之OC语法基础(四)--内存管理
- OC基础语法(六)---内存管理(二)
- [Objective-c 基础 - 2.2] OC弱语法、类方法
- 7,Objective-C语法之内存管理
- 黑马程序员-9-Objective-C学习笔记(OC内存管理)