NSString没有连接

时间:2013-05-05 19:08:54

标签: ios xml nsstring concatenation

我需要生成大型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)给我空字符串

为什么呢?你能救我吗?

日Thnx

2 个答案:

答案 0 :(得分:3)

[carString stringByAppendingString:carStr]; 

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

carString = [carString stringByAppendingString:carStr]; 

答案 1 :(得分: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);

NSString替换为NSMutableString,以便可以轻松添加更多字符串。 希望你能。