美文网首页
记录一个典型的 NSString 声明为 copy 和 stro

记录一个典型的 NSString 声明为 copy 和 stro

作者: huiyuM | 来源:发表于2018-12-05 17:57 被阅读12次
  • string 拷贝问题
    • 1:copy 类型,不会随着被拷贝对象的变化而变化
    • 2:strong 类型,如下面代码,‘self.myTitle = mutableTitle;’代码执行后 self.myTitle 指针指向了 mutableTitle 所指的内存地址,且不会随着mutableTitle 指向其他内存地址而改变,它值的改变只会随着指向的内存地址中的值改变而改变
    self.myTitle = @"title";
    NSMutableString *mutableTitle = [NSMutableString stringWithFormat:@"mutableTitle"];
    self.myTitle = mutableTitle;
    [mutableTitle insertString:@"change" atIndex:0];
    mutableTitle = @"changedMTitle".mutableCopy;
    NSLog(@"title=%@", self.myTitle);
    // strong: 输出 "changemutableTitle"
    // copy: 输出 "mutableTitle"
结论:string 一定要声明为copy类型

相关文章

网友评论

      本文标题:记录一个典型的 NSString 声明为 copy 和 stro

      本文链接:https://www.haomeiwen.com/subject/vfvwcqtx.html