Конкатенация содержимого NSArray с NSMutableString AppendString
-
19-08-2019 - |
Вопрос
Я пытаюсь перебрать NSArray и продолжаю получать ошибку компилятора, когда пытаюсь объединить содержимое моего массива в позиции i с моим экземпляром NSMutableString ..
Это просто говорит мне, что есть & синтаксическая ошибка перед <;> quot; что не говорит мне много. на этой строке:
[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;
}
заранее спасибо
Решение
у вас есть незакрытая скобка
вам нужно ]]
в конце вместо ]
Другие советы
NSArray
есть метод, который делает то же самое, что и вы:
- (NSString *)readArray {
return [widget.children componentsJoinedByString:@""];
}
Кроме того, если вы не вызываете эту функцию довольно часто в узком цикле, нет особого преимущества в том, чтобы она создала свой собственный пул авто-выпуска.
Не связан с StackOverflow