Конкатенация содержимого NSArray с помощью NSMutableString AppendString - PullRequest
1 голос
/ 17 марта 2009

Я пытаюсь перебрать NSArray и продолжаю получать ошибку компилятора, когда пытаюсь объединить содержимое моего массива в позиции i с моим экземпляром NSMutableString ..

Это просто говорит мне, что раньше была "синтаксическая ошибка"; что не говорит мне много. на этой линии:

  [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 ]

13 голосов
/ 17 марта 2009

NSArray имеет метод, который делает то же, что и вы:

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

Кроме того, если вы не вызываете эту функцию довольно часто в замкнутом цикле, нет особого преимущества в том, чтобы она создала свой собственный пул авто-выпуска.

4 голосов
/ 17 марта 2009

у вас есть незакрытая скобка
вам нужно ]] в конце вместо ]

...