У меня есть некоторый (я думаю) довольно простой код для создания содержимого ячейки из источника данных, и все отлично работает, когда загружается дисплей. Однако, когда я начинаю прокручивать, чтобы просмотреть другой текст (вверх или вниз), код завершается неудачно с «GDB: Программа получила сигнал:« EXEC_BAD_ACCESS »». Вот код, который заполняет дисплей для различных разделов; каждый раздел имеет похожий код:
id cell = (UITableViewCell *)[tableView
dequeueReusableCellWithIdentifier:CellIdentifier
];
titledCell = [[[TitledCell alloc]
initWithFrame:CGRectZero
reuseIdentifier:CellIdentifier
] autorelease
];
switch (tableSection) {
case TABLE_SECTION_1:
if (cell == nil) {
dataKey = @"a key from data source";
dataFromSource = [viewData objectForKey:dataKey];
titledCell.title.text = dataKey;
titledCell.contents.text = dataFromSource;
cell = titledCell;
break;
}
case TABLE_SECTION_2:
...
}
return cell;
Когда я следовал за кодом, я заметил, что код пропускает создание ячейки при прокрутке ячейки обратно в поле зрения, потому что ячейка! = Ноль. Если он пропускается, это означает, что ячейка содержит то же содержимое, что и при первом создании, верно? Почему доставляет мне неприятности?