我开始了一个小型 Xcode 项目来调查一个NSMutableString属性是否应该是copy或retain. 我用属性声明了我的copy属性:
@property (nonatomic,copy) NSMutableString *stringA;
然后将其初始化为self.stringA = [NSMutableString new];
最后尝试设置一个字符串[stringA setString:@"A"];。
然而,该程序给出,
“由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'尝试使用 setString 改变不可变对象:'”
是因为结果字符串是 aNSString吗?这是否意味着我应该NSMutableString使用retain属性和NSString属性声明我的属性copy?