retain strong 和 copy 讨论,有建议的的童鞋请留言
来源:互联网 发布:科比数据图 编辑:程序博客网 时间:2024/05/29 17:52
strong weak是ARC引入的,strong相当于retain,但是对于有的类型,例如NSString,则使用strong相当于使用copy
这样直接用strong就可以直接处理retain和strong的情况了。
weak相当于assign,但是比后者多一点:对象被干掉时会将weak引用设为nil,而对nil发送消息都不会导致崩溃
否则weak引用为野指针,会出现问题
这里说strong 有copy的功能是错误的哦。实验例子
@interface AppDelegate : UIResponder <UIApplicationDelegate>
{
NSString *retainStr;
NSString *copStr;
NSString *strongStr;
}
@property (retain, nonatomic) NSString *retainStr;
@property (strong, nonatomic) NSString *strongStr;
@property (copy, nonatomic) NSString *copStr;
@end
NSMutableString *newStr = [NSMutableString stringWithFormat:@"abcd"];
self.retainStr = newStr;
self.strongStr = newStr;
self.copStr = newStr;
[newStr appendString:@"123"];
NSLog(@"retain sting:%@", self.retainStr);
NSLog(@"strong string:%@", self.strongStr);
NSLog(@"copy string:%@", self.copStr);
输出结果:
2014-05-02 13:31:17.660 TestMultipleThreadDownload[552:60b] retain sting:abcd123
2014-05-02 13:31:17.662 TestMultipleThreadDownload[552:60b] strong string:abcd123
2014-05-02 13:31:17.663 TestMultipleThreadDownload[552:60b] copy string:abcd
- retain strong 和 copy 讨论,有建议的的童鞋请留言
- retain(strong)和copy之间的关系
- iOS copy和retain、strong的区别
- copy,retain,strong的区别
- retain、copy、assign、 strong、weak、autorelease的用法和区别
- strong,weak,copy,retain和assign的区别
- 一段代码解释retain,strong和copy的区别
- copy,retain,weak,strong等的总结
- copy strong assign weak retain 的用法
- copy strong assign weak retain 的用法
- retain,strong,weak,assign,copy的理解
- 由NSString的copy和strong/retain引出o-c的copy机制 (一)
- 由NSString的copy和strong/retain引出o-c的copy机制 (二)
- iOS中assign,copy,retain之间的区别以及weak和strong的区别
- iOS中assign,copy,retain之间的区别以及weak和strong的区别
- iOS中assign,copy,retain之间的区别以及weak和strong的区别
- iOS中assign,copy,retain之间的区别以及weak和strong的区别
- iOS中assign,copy,retain之间的区别以及weak和strong的区别
- centos安装mysql-proxy
- LitePal学习总结 (三)
- 全扫描的影响因素之数据舍弃的百分比
- spring之路径跳转(一)
- MySql5.0重装以及恢复之前的数据库
- retain strong 和 copy 讨论,有建议的的童鞋请留言
- 《观止——微软创建NT和未来的夺命狂奔》读后感
- CodeForces 464D World of Darkraft - 2 概率DP 近似计算
- 倒排索引结构
- InputStream重用技巧(利用ByteArrayOutputStream)
- 2013 lost connection to mysql server during query
- RSA之JS于JAVA交互,废话不多上代码!
- 开坑~~~
- 后缀数组(poj3729)