关于oc的retain copy
来源:互联网 发布:java applet程序实例 编辑:程序博客网 时间:2024/04/30 18:42
推荐NSString类型的属性用copy的,
既然说了,就多说几句。
因为如果你用retain, 你保证不了调用者是给你传的是NSString还是NSMutableString,
如果传的是NSMutableString, 那你的这个NSString属性内容就有可能受调用者的影响,
而NSString的属性,通常都是不希望被调用者改变的。
不只是NSString,其他的不可变类, NSArray, NSDictionary, NSSet等,都是推荐用copy的.
并且对于copy的属性,如果你传的是NSString, NSString 的copy实现就是retain,
如果传的是NSMutableString, 它的copy才是真的按字节拷贝。
所以对于copy属性,不用担心其性能。
故对于不可变类的类型属性,放心的一律用copy属性吧.
既然说了,就多说几句。
因为如果你用retain, 你保证不了调用者是给你传的是NSString还是NSMutableString,
如果传的是NSMutableString, 那你的这个NSString属性内容就有可能受调用者的影响,
而NSString的属性,通常都是不希望被调用者改变的。
不只是NSString,其他的不可变类, NSArray, NSDictionary, NSSet等,都是推荐用copy的.
并且对于copy的属性,如果你传的是NSString, NSString 的copy实现就是retain,
如果传的是NSMutableString, 它的copy才是真的按字节拷贝。
所以对于copy属性,不用担心其性能。
故对于不可变类的类型属性,放心的一律用copy属性吧.
- 关于oc的retain copy
- 关于OC中Copy和retain的心得
- OC copy与retain的区别:
- 关于retain以及copy特质的理解
- 关于retain与copy
- OC中assign、copy 、retain等关键字的含义
- OC基础:内存(进阶):retain.copy.assign的实现原理
- OC中assign、copy 、retain等关键字的含义
- OC下retain copy nomatic等属性的解析
- retain copy 的区别
- OC nonatimic,retain,assign,copy,readonly,readwrite
- oc assign / copy / retain / 容器 / 多态
- OC-retain,copy,assign及autorelease
- OC中属性关键字(retain, assign, copy...)
- 关于OC中得内存管理问题,alloc,retain,release,copy,dealloc
- iOS 关于 retain copy mutable copy 总结
- 关于retain,assign,copy,strong,weak的见解
- OC中的一些关键术语&&@property assign retain copy的区别
- 二叉树的遍历方法
- asp.net站点地图之menu(静态)
- 编程修养
- Android中的Button自定义点击效果
- 数据库安装指南
- 关于oc的retain copy
- 2013 腾讯一面面试题
- 创建socket stream
- 基础知识
- 问题解决[<UIViewController 0x8430220>setValue:forUndefinedKey:]this class is not key value..
- 使用openssl实现一个简单的服务器
- 几种常见 容器 比较和分析 hashmap, map, vector, list ...hash table
- 毕业后大家拉开差距的原因
- mysql存储过程