NSMutableString *str1 = [[NSMutableString alloc] initWithString:@"aaa"];
NSMutableString *str2 = [str1 retain];
NSMutableString *str3 = [str1 copy];
[str1 appendString:@"ddd"];
NSLog(@"%@,%@,%@",str1,str2,str3);
打印结果:
aaaddd,aaaddd,aaa
这说明str1和str2指向同一个对象,只不过两者跟这个对象之间都存在一个索引关系,而str3复制了指针的同时,连内容一起做了拷贝,这样str3指向了一块新的内存空间,只不过和str1指向的对象的最初的内容相同。同时这也说明了NSMutableString这个类并不是线程安全的。
本文深入探讨了Objective-C与Swift作为iOS开发语言的特点与使用场景,对比了它们在语法、性能、社区支持等方面的差异,并分析了在实际项目中选择使用哪一种语言的考量因素。
3159

被折叠的 条评论
为什么被折叠?



