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