崩溃串...... :(

时间:2010-05-24 22:40:27

标签: objective-c merge nsstring

我在.h文件中:

NSString *dataHML; 
NSString *dataHML2;
NSString *dataHML3;
NSString *dataHML4;
NSString *dataHML5;
NSString *dataHML6;
NSString *dataHMLtotal;
<。>在.m文件中我将它们合并为:

NSString *dataHtmlTotal = [NSString stringWithFormat:@"%@%@%@%@%@%@", dataHtml, dataHtml2, dataHtml3, dataHtml4,dataHtml5,dataHtml6];

但不幸的是,由于这个原因,它在某些时候崩溃了。 任何人都可以给我一个其他解决方案并发布它,因为我已经尝试过nsuserdefault或nsarray,但没有我无法让它工作。

2 个答案:

答案 0 :(得分:0)

请确保您的字符串都已分配和初始化(您在问题中没有提到这两点。)如果您不这样做,那么您将面临在垃圾指针位置处操作数据的风险,以及您的应用程序很可能会崩溃。

答案 1 :(得分:0)

如果你确实有六个数字命名的变量,你可能会更好地使用数组。

NSMutableArray *dataHMLStrings = [NSMutableArray array];

[dataHMLStrings addObject:@"String1"];
[dataHMLStrings addObject:@"String2"];
            .
            .
            .
[dataHMLStrings addObject:@"String100"]; // or however many you have.

NSString *dataHMLTotal = [dataHMLStrings componentsJoinedByString:@""];

您可以为componentsJoinedByString:方法指定一个不同的字符串(我在这里传递了一个空字符串,因为您不希望在每个dataHML字符串之间出现任何内容)。