使用NSMutableString AppendString连接NSArray内容

时间:2009-03-17 04:36:39

标签: objective-c iphone string-concatenation

当我尝试将位置i的数组内容连接到我的NSMutableString实例时,我正在尝试迭代NSArray并继续获得编译器错误。

它只是告诉我之前有“语法错误”;这并没有告诉我很多。 在这一行:

  [output appendString:[widget.children objectAtIndex:i]; 

我知道我的语法一定有些东西..

我的功能如下

- (NSString *)readArray
{
    NSMutableString *output = [[NSMutableString alloc] init];
    int i;
    int arraySize = widget.children.count;
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    for (i = 0; i < arraySize; i++)
    {
        [output appendString:[widget.children objectAtIndex:i];  (throws error here)
    }
    [pool release];
    return output;

}

提前致谢

2 个答案:

答案 0 :(得分:13)

NSArray有一种方法可以完成你正在做的事情:

- (NSString *)readArray {
    return [widget.children componentsJoinedByString:@""];
}

此外,除非你在一个紧凑的循环中相当频繁地调用该函数,否则创建它自己的自动释放池没有多大优势。

答案 1 :(得分:4)

你有一个未闭合的支架
您最后需要]]而不是]