0

我需要生成大的 XML 文件。所以我创建了这段代码

int n = 6;

    NSString *carString = @" \n";

    for (int i=1;i<=n;i++){
        for (int j=1;j<=n;j++){
            if (j!=i){
                NSString *carStr = [@""stringByAppendingFormat:@"<car from=\"%i\" to=\"%i\" /> \n",i,j ];

                NSLog(@"%@",carStr);

                [carString stringByAppendingString:carStr];
            }
        }
    }

    NSLog(@"%@",carString);

什么时候NSLog(@"%@",carStr)给我这样的东西

<car from="6" to="1" /> 

NSLog(@"%@",carString)给我空字符串

为什么?你能帮助我吗?

谢谢

4

2 回答 2

3
[carString stringByAppendingString:carStr]; 

这会创建一个您从不使用或读取的新字符串。尝试:

carString = [carString stringByAppendingString:carStr]; 
于 2013-05-05T19:15:39.993 回答
0
int n = 6;

NSMutableString *carString = [[NSMutableString alloc] initWithFormat:@" \n"];

for (int i=1;i<=n;i++){
    for (int j=1;j<=n;j++){
        if (j!=i){
            NSString *carStr = [@""stringByAppendingFormat:@"<car from=\"%i\" to=\"%i\" /> \n",i,j ];

            NSLog(@"%@",carStr);

            [carString appendFormat:carStr];
        }
    }
}

NSLog(@"%@",carString);

替换NSStringNSMutableString以便可以轻松附加更多字符串。希望你会。

于 2013-05-05T19:14:12.757 回答