tableDataList должен сохранить новый массив, или он будет автоматически освобожден вскоре после вашего вызова.
Если tableDataList является @property с retain
, просто измените строку выше на:
self.tableDataList = [NSArray arrayWithArray:array];
и сеттер с этим справится.
Эквивалент @property (retain) NSArray *tableDataList;
содержится в коде,
- (void)setTableDataList:(NSArray *)anArray
{
if (tableDataList != nil) {
[tableDataList autorelease];
}
tableDataList = [anArray retain];
}
Приведенный выше код автоматически освобождает и сохраняет объекты при замене переменной с использованием self.tableDataList = SOMETHING
.Однако, если вы просто используете tableDataList = SOMETHING
, но не используете вышеуказанный установщик, вы устанавливаете переменную напрямую.