1

当我尝试将位置 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;

}

提前致谢

4

2 回答 2

13

NSArray有一种方法可以完全按照您正在做的事情:

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

此外,除非您在紧密循环中相当频繁地调用该函数,否则让它创建自己的自动释放池并没有太大优势。

于 2009-03-17T06:09:37.400 回答
4


你最后需要一个未闭合的括号]],而不是]

于 2009-03-17T04:46:49.640 回答