在 Objective-C 中迭代 NSCountedSet 时创建 NSMutableString 时出错
Getting an error when creating an NSMutableString when iterating an NSCountedSet in Objective-C
我在 for 循环中迭代 NSCountedSet,然后尝试创建一个由它持有的 NSString 对象以及该特定对象的计数组成的 NSMutableString,然后插入新创建的 NSMutableString进入 NSMutableArray。但是,当我这样做时,出现以下错误:
Attempt to mutate immutable object with appendFormat
这是我正在使用的代码:
for (NSMutableString *myString in myCountedSet) {
[myString appendFormat:@"-%lu", (unsigned long)[myCountedSet countForObject:myString]];
[myArray addObject:myString];
}
我只是想为 NSCountedSet 中的每个对象构造一个格式为 myString-count 的字符串,然后将这个字符串插入到一个数组中。谁能看出我做错了什么?
我猜你的字符串实际上不是可变的。所以把代码改成:
for (NSMutableString *myString in myCountedSet) {
NSString *combinedString = [NSString stringWithFormat:@"%@-%lu", myString,(unsigned long)[myCountedSet countForObject:myString]];
[myArray addObject:combinedString];
}
我在 for 循环中迭代 NSCountedSet,然后尝试创建一个由它持有的 NSString 对象以及该特定对象的计数组成的 NSMutableString,然后插入新创建的 NSMutableString进入 NSMutableArray。但是,当我这样做时,出现以下错误:
Attempt to mutate immutable object with appendFormat
这是我正在使用的代码:
for (NSMutableString *myString in myCountedSet) {
[myString appendFormat:@"-%lu", (unsigned long)[myCountedSet countForObject:myString]];
[myArray addObject:myString];
}
我只是想为 NSCountedSet 中的每个对象构造一个格式为 myString-count 的字符串,然后将这个字符串插入到一个数组中。谁能看出我做错了什么?
我猜你的字符串实际上不是可变的。所以把代码改成:
for (NSMutableString *myString in myCountedSet) {
NSString *combinedString = [NSString stringWithFormat:@"%@-%lu", myString,(unsigned long)[myCountedSet countForObject:myString]];
[myArray addObject:combinedString];
}