记录一个典型的 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
网友评论