NSfetchedResultsControllerDelegate разбитое табличное представление - PullRequest
0 голосов
/ 15 ноября 2009

Привет всем, Я использую NSFetchedResultsControllerDelegate для обновления моего табличного представления. Например,

// Теперь у таблицы нет записей.

2009-11-15 12: 25: 48.328 XXX [36890: 207] 0 // num разделов перед обновлением // вызвать просмотр таблицы и начать обновление

2009-11-15 12: 25: 54.277 XXX [36890: 207] вставить 0 // вставить новый раздел // начинаем вставлять данные

2009-11-15 12: 25: 54.278 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 31 раздел: 0 2009-11-15 12: 25: 54.278 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 30 раздел: 0 2009-11-15 12: 25: 54.278 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 45 раздел: 0 2009-11-15 12: 25: 54.279 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 62 раздел: 0 2009-11-15 12: 25: 54.279 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 12 раздел: 0 2009-11-15 12: 25: 54.280 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 54 раздел: 0 2009-11-15 12: 25: 54.280 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 2 раздел: 0 2009-11-15 12: 25: 54.280 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 14 раздел: 0 2009-11-15 12: 25: 54.281 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 63 раздел: 0 2009-11-15 12: 25: 54.281 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 27 раздел: 0 2009-11-15 12: 25: 54.281 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 5 раздел: 0 2009-11-15 12: 25: 54.282 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 7 раздел: 0 2009-11-15 12: 25: 54.282 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 44 раздел: 0 2009-11-15 12: 25: 54.283 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 51 раздел: 0 2009-11-15 12: 25: 54.283 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 9 раздел: 0 2009-11-15 12: 25: 54.283 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 29 раздел: 0 2009-11-15 12: 25: 54.284 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 64 раздел: 0 2009-11-15 12: 25: 54.284 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 22 раздел: 0 2009-11-15 12: 25: 54.284 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 25 раздел: 0 2009-11-15 12: 25: 54.285 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 57 раздел: 0 2009-11-15 12: 25: 54.285 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 50 раздел: 0 2009-11-15 12: 25: 54.286 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 13 раздел: 0 2009-11-15 12: 25: 54.286 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 8 раздел: 0 2009-11-15 12: 25: 54.287 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 61 раздел: 0 2009-11-15 12: 25: 54.287 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 15 раздел: 0 2009-11-15 12: 25: 54.287 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 53 раздел: 0 2009-11-15 12: 25: 54.288 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 37 раздел: 0 2009-11-15 12: 25: 54.288 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 34 раздел: 0 2009-11-15 12: 25: 54.288 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 52 раздел: 0 2009-11-15 12: 25: 54.289 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 58 раздел: 0 2009-11-15 12: 25: 54.289 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 4 раздел: 0 2009-11-15 12: 25: 54.290 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 41 раздел: 0 2009-11-15 12: 25: 54.290 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 49 раздел: 0 2009-11-15 12: 25: 54.290 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 39 раздел: 0 2009-11-15 12: 25: 54.291 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 26 раздел: 0 2009-11-15 12: 25: 54.291 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 20 раздел: 0 2009-11-15 12: 25: 54.291 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 1 раздел: 0 2009-11-15 12: 25: 54.292 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 21 раздел: 0 2009-11-15 12: 25: 54.292 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 65 раздел: 0 2009-11-15 12: 25: 54.293 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 38 раздел: 0 2009-11-15 12: 25: 54.293 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 59 раздел: 02009-11-15 12: 25: 54.293 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 47 раздел: 0 2009-11-15 12: 25: 54.294 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 28 раздел: 0 2009-11-15 12: 25: 54.294 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 3 раздел: 0 2009-11-15 12: 25: 54.295 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 55 раздел: 0 2009-11-15 12: 25: 54.295 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 23 раздел: 0 2009-11-15 12: 25: 54.295 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 56 раздел: 0 2009-11-15 12: 25: 54.296 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 40 раздел: 0 2009-11-15 12: 25: 54.296 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 16 раздел: 0 2009-11-15 12: 25: 54.296 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 6 раздел: 0 2009-11-15 12: 25: 54.297 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 60 ​​раздел: 0 2009-11-15 12: 25: 54.297 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 17 раздел: 0 2009-11-15 12: 25: 54.298 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 11 раздел: 0 2009-11-15 12: 25: 54.298 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 33 раздел: 0 2009-11-15 12: 25: 54.298 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 19 раздел: 0 2009-11-15 12: 25: 54.299 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 46 раздел: 0 2009-11-15 12: 25: 54.299 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 36 раздел: 0 2009-11-15 12: 25: 54.299 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 42 раздел: 0 2009-11-15 12: 25: 54.300 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 18 раздел: 0 2009-11-15 12: 25: 54.300 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 48 раздел: 0 2009-11-15 12: 25: 54.301 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 43 раздел: 0 2009-11-15 12: 25: 54.301 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 0 раздел: 0 2009-11-15 12: 25: 54.301 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 10 раздел: 0 2009-11-15 12: 25: 54.302 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 32 раздел: 0 2009-11-15 12: 25: 54.302 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 35 раздел: 0 2009-11-15 12: 25: 54.302 XXX [36890: 207] NSFetchedResultsChangeInsert: строка: 24 секция: 0

// закончить обновление // таблица разбилась

2009-11-15 12: 25: 54.303 XXX [36890: 207] * Завершение работы приложения из-за необработанного исключения 'NSRangeException', причина: '* - [NSCFArray objectAtIndex:]: index (65 ) за пределами (1) ' 2009-11-15 12: 25: 54.303 XXX [36890: 207] Стек: ( 32556123, 2434330441, 32640059, 32639898, 2149577, 1745447, .. )

** Мой просмотр таблицы упал. Кроме того, я не вызываю reloadData в своем коде.

Если после перезагрузки я перезагрузил данные и проигнорировал все события обновления из FetchResultsControllerDelegate, все работает нормально. Пожалуйста, помогите!

Ответы [ 2 ]

0 голосов
/ 28 ноября 2009

хорошо, поэтому, когда nsfetchedresultscontroller хочет вставить несколько секций, он отправит вызов и вставит новые секции, и вставит новые строки в этих новых секциях своему делегату; однако tableview хочет только вставить новые разделы. Чтобы решить эту проблему, нам нужно создать набор, в котором есть все новые разделы. Когда мы вставляем новую строку, вы можете сказать, должны ли мы вставить или сейчас.

0 голосов
/ 15 ноября 2009

Это ошибка, пожалуйста, прочитайте https://devforums.apple.com/message/118418#118418

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