附加后NSMutableString为null

时间:2014-10-08 12:05:24

标签: ios objective-c

我正在尝试构建一个字符串数组,这些字符串将添加到XML soap请求中。

我有一个简单的循环来构建数组:

MarcTagsList是一个字符串的NSArray,其中包含值[" 82a"," 100a"," 245b"," 520a"]并作为参数传递。

NSMutableString *xmlTagList;

for(i=0; i<numberOfTags; i++)
{
   [xmlTagList appendFormat:@"<string>%@</string>",MarcTagList[i]];
   NSLog(@" appending - <string>%@</string>",MarcTagList[i]);

}

日志输出显示循环和MarcTag值正常,但是当循环完成时

NSLog(@"xmlTagList %@", xmlTagList);

将xmlTagList显示为null。

2 个答案:

答案 0 :(得分:3)

首先intialize xmlTagList字符串

//allocated
NSMutableString *xmlTagList=[[NSMutableString alloc] init];

OR

//auto-referenced
NSMutableString *xmlTagList=[NSMutableString string];

OR

//auto-referenced
NSMutableString *xmlTagList=[NSMutableString new];

OR

//auto-referenced
NSMutableString *xmlTagList= @"";

现在使用xmlTagList进一步要求,即附加操作

for(i=0; i<numberOfTags; i++)
{
   [xmlTagList appendFormat:@"<string>%@</string>",MarcTagList[i]];
   NSLog(@" appending - <string>%@</string>",MarcTagList[i]);

}

答案 1 :(得分:0)

变化:

NSMutableString *xmlTagList;

为:

NSMutableString *xmlTagList = [NSMutableString stringWithString:@""];