Что может вызвать это?Сгруппированные UITableView отображаются нормально, но только один раз
У меня есть сгруппированный tableView, который я добавил в IB. 2 группы. 3 строки в каждой группе.
Он отображается нормально, когда приложение запускается в первый раз. (Итак, я знаю, что я правильно делаю это. Не означает ли это, что я (по крайней мере) правильно настроил мой делегат, DataSource, IBOutlets и соединения?)
Но когда я нажимаю кнопку, которая вызывает [myTable reloadData]
он просто падает.
Первоначально я думал, что это связано с моими изменениями в количестве групп, количеством строк или изменением данных в моем источнике данных (всего лишь NSMutableArray
).
Но то же самое происходит, когда я изменяю данные NO: Работает нормально при первом отображении таблицы. Но сбой, когда я звоню [myTable reloadData]
. (Независимо от того, изменились данные или нет.)
Я удалил свой код до минимума на баребонах ... пытаясь найти эту ошибку.
-(UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *cellIndentifer = @"Cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIndentifer]; if(cell == nil) cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:cellIndentifer] autorelease]; cell.textLabel.text = @"Left Test"; cell.detailTextLabel.text = @"Right Test"; return cell; }
Вот код кнопки-клик:
-(IBAction) reloadTable:(id)sender { if(myTable == nil) NSLog(@"myTable is nil"); else [myTable reloadData]; }
Вот "ошибка" (без помощи на всех):
[Session started at 2010-02-19 10:04:14 -0100.] GNU gdb 6.3.50-20050815 (Apple version gdb-967) (Tue Jul 14 02:11:58 UTC 2009) Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-apple-darwin".sharedlibrary apply-load-rules all Attaching to process 1081. kill kill quit The Debugger has exited with status 0.(gdb)
Я даже пытался жесткого кодирования " количество групп "," количество строк "," текст заголовка "," текст в ноге "и" текст ячейки ". (В случае, если моя математика ошибочно вычисляла мой объектAtIndex ... или у меня был массив-dataSource, у которого не было достаточного количества элементов.)
Всегда та же проблема: отображается в первый раз. Сбой при попытке перезагрузкиДата.
Показать метод нажатия кнопки и получить точную ошибку. – DyingCactus
StackOverFlow: * ПОЖАЛУЙСТА * прекратите переформатирование моих комментариев. * ПОЖАЛУЙСТА * прекратите запрещать html в комментариях. * ПОЖАЛУЙСТА * прекратите ограничивать мои комментарии «крайне короткими». Ugh. – Susanna