-1

我在 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 的字符串,然后将此字符串插入到数组中。谁能看到我做错了什么?

4

1 回答 1

1

我猜你的字符串实际上不是可变的。所以将代码更改为:

for (NSMutableString *myString in myCountedSet) {

    NSString *combinedString = [NSString stringWithFormat:@"%@-%lu", myString,(unsigned long)[myCountedSet countForObject:myString]];
    [myArray addObject:combinedString];
}
于 2015-02-11T17:07:13.437 回答