Помогите вставить новый раздел в TableView - PullRequest
5 голосов
/ 30 марта 2009

Все продолжают писать об удалении раздела. Ну, я не могу добавить его.

В настоящее время я пытаюсь вот так (что не получается с NSInternalInconsistencyException):

UITableView *tv = (UITableView *) self.tableView;

if ([tv numberOfSections] == 1)
{
     [tv beginUpdates];
     [tv insertSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationTop];

     NSLog(@"Inserted.. Brace for impact.");
     [tv endUpdates];
}

NSLog(@"Section count after update: %d", [tv numberOfSections]); // Never reached

Если я не ошибаюсь, вставка раздела с индексом 0 должна поместить его сверху, удаляя все остальные разделы вниз, верно? Что ж, если я выпишу numberOfSections сразу после insertSections, число разделов, похоже, не изменится.

Есть идеи?

Юхан

Ответы [ 3 ]

3 голосов
/ 08 апреля 2009

Да, спасибо вам обоим.

После некоторого жонглирования мне наконец удалось заставить его работать. Это была комбинация обоих ваших предложений. Новые данные никогда не вставлялись, но мне также не нужно было увеличивать количество строк для первого вставленного элемента, а только для второго.

2 голосов
/ 30 марта 2009

Необходимо обновить numberOfSectionsInTableView сообщения UITableViewDataSource класса.

2 голосов
/ 30 марта 2009

Вы также обновили свой источник данных? Вы не можете просто обновить табличное представление без обновления основных данных.

...