NSString 与NSMutableString的区别:
1.前者一旦创建地址不可变,则内容也不可变,后者地址不变,内容也可变。
2.NSString可以用attain, 也可以用copy 属性。
用attain 只是指针拷贝,并没有使用新的内存。而用copy 是内容拷贝,会产生新的内存空间。
所以从效率上来说是attain更高。
而从安全性上来看,NSMutableString 的基类是NSString,但使用attain时,把NSMutableString赋值给NSString,前者可变,所以后者也会变。
3.NSString是不可变,因此当将NSMutableString赋值给NSString时,前者变时,后者也会变,那岂不是说NSString也变了。
可以这么理解,NSString是指针变量,但把NSMutableString赋值给NSString时,NSString指针指向的是NSMutableString变量,
所以是可变的了。
一般情况下,NSString用copy是表示,除非主动修改指针指向对象,否则是不能被其他代码修改。