现在的位置: 首页 > 综合 > 正文

NSString的strong和copy

2017年10月20日 ⁄ 综合 ⁄ 共 489字 ⁄ 字号 评论关闭

      因为,自己是自学的,所以理论基础一直是鸡肋。

      之前对NSString的认识就是使用copy。直到最近,看一本英文书和别人的代码,发现,好像不是这样,特总结如下:

      日常使用,大部分的确应该使用copy。因为:

<pre name="code" class="objc"><pre name="code" class="objc">@property (retain,nonatomic) NSString *retainStr;
@property (copy, nonatomic)   NSString *copyStr;

- (void)test
{
NSMutableString *mutStr = [NSMutableStringstringWithFormat:@"abc"];
self.retainStr = mutStr;
self.copyStr = mutStr; 
}


此时,存在的两个str。retainStr会跟着,mutStr改变,我们一般不需要这样,而copyStr不会这样、

可以这样简单的记忆,retain是父子关系,父亲改姓氏,儿子也会改。而copy是母子,儿子不会以为母亲改变自己的姓氏。

抱歉!评论已关闭.