Я пытаюсь использовать приведенный ниже код в функции для возврата массива объектов словаря. К сожалению, после возврата к следующей функции в стеке все строки в изменяемом массиве вышли из области видимости. Насколько я понимаю, массив должен автоматически сохранять объект строки (словаря), поэтому даже после возврата, когда указатель строки выходит за пределы области видимости, объекты строки все равно должны иметь счет сохранения 1. Что я здесь не так делаю? Как построить этот массив таким образом, чтобы содержащиеся в нем объекты не освобождались?
for (int i = 1; i < nRows; i++)
{
NSMutableDictionary* row = [[[NSMutableDictionary alloc] initWithCapacity:nColumns] ];
for(int j = 0; j < nColumns; j++)
{
NSString* key = [[NSString stringWithUTF8String:azResult[j]] ];
NSString* value = [[NSString stringWithUTF8String:azResult[(i*nColumns)+j]] ];
[row setValue:value forKey:key];
}
[dataTable addObject:row];
}
return dataTable;