Сбой UITableView - PullRequest
       2

Сбой UITableView

0 голосов
/ 21 июня 2011

У кого-нибудь есть идеи, почему этот код табличного представления дает сбой?

Это, по моему viewDidLoad:

itemArray = [NSArray arrayWithObjects:@"1", @"2", @"3", @"4", @"5", @"6", @"7", nil];

Тогда, это в моем cellForRowAtIndexPath методе:

cell.textLabel.text = [NSString stringWithFormat:@"Item (%@)", [itemArray objectAtIndex:indexPath.row]]; 

Когда я прокручиваю вниз (то есть, чтобы объект 1 исчезал с экрана), затем прокручиваю назад, чтобы попытаться увидеть объект 1, он падает на предыдущей строке.

Хорошо, если я заменим строку с ошибкой на что-то вроде этого:

cell.textLabel.text = @"test";

ОБНОВЛЕНИЕ: Ответ состоял в том, что массив не был сохранен. Эта строка исправила проблему:

itemArray = [[NSArray arrayWithObjects:@"1", @"2", @"3", @"4", @"5", @"6", @"7", nil] retain];

OR

itemArray = [[NSArray alloc] initWithObjects:@"1", @"2", @"3", @"4", @"5", @"6", @"7", nil];

1 Ответ

3 голосов
/ 21 июня 2011

Ваш itemArray, похоже, не сохраняется.arrayWithObjects: возвращает автоматически освобожденный объект.Вам нужно retain или copy, или использовать синтаксический сахар, сохраняющий свойство.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...