0

我正在尝试这段代码...

NSString *tileString = [[NSString alloc] init];    

for (int i = 0; i < [[GameP objectForKey:@"groundMap"] length]; i += 5) {

            tileString = [[GameP objectForKey:@"groundMap"] substringWithRange:NSMakeRange(i, 5)];

            [tileString stringByAppendingString:@"0000"];

            [sharedInstance.groundMap addObject:tileString];
        }

来自对象的 5 个字符字符串是“t0001”,所以我想以“t0001000”结束,但它不起作用,当我检查 sharedInstance.groundMap 时,数组中的所有字符串仍然是“t0001”

我应该改用 NSMutableString 吗?

4

1 回答 1

3

您没有分配结果。改变这个:

[tileString stringByAppendingString:@"0000"];

至:

titleString = [tileString stringByAppendingString:@"0000"];

你也可以做更多的清理工作:

for (int i = 0; i < [[GameP objectForKey:@"groundMap"] length]; i += 5) {
    NSString *tileString = [[GameP objectForKey:@"groundMap"] substringWithRange:NSMakeRange(i, 5)];
    titleString = [tileString stringByAppendingString:@"0000"];
    [sharedInstance.groundMap addObject:tileString];
}
于 2012-10-29T00:52:44.133 回答