我有以下代码,我试图简单地遍历一个实体,并为每个NSPropertyDescription名称,将它附加到一个Mutable字符串,我将构建另一个字符串。
- (void) createCSV {
NSEntityDescription *anEntity = [NSEntityDescription entityForName:@"Missions" inManagedObjectContext:self.missionDatabase.managedObjectContext];
NSMutableString *csvString = [NSString string];
for (NSPropertyDescription *property in anEntity) {
[csvString appendString:property.name];
}
NSLog(@"%@",csvString);
}
运行以下代码时的问题是我得到了
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Attempt to mutate immutable object with appendString:'
我无法弄清楚我做错了什么。我可以不将NSString附加到NSMutableString吗?
答案 0 :(得分:1)
再看一遍。 csvString
不可变。您正在创建NSString
。创建NSMutableString
如下所示:
NSMutableString *csvString = [NSMutableString string];