Я новичок в Какао и Базовых данных и столкнулся со странной проблемой. Я успешно создал модель Core Data, импортировал данные, создал пользовательский интерфейс (контроллер навигации, tableViewController с searcDdisplayController), но теперь я застрял в одной проблеме. Если я реализую UITableViewController (без UITableView в nib файле), результаты, извлеченные из fetchedResultsController , будут странными - количество строк правильно (500 строк), но они повторяются - всего 8 разных строк.
Однако я смог решить эту проблему, добавив @synthesize tableView
; в файле .m .
Затем я столкнулся с другой проблемой - когда я щелкаю строку и нажимаю подробное представление, а затем нажимаю кнопку «Назад» на контроллере навигации, выбранная строка в табличном представлении по-прежнему выбрана.
Надеюсь, мне ясно, что случилось. Позвольте мне резюмировать:
Если я не поставлю @synthesize tableView; в верхней части файла реализации отмена выбора строки работает нормально, но результаты неверны - 8 строк (из 500) повторяются в tableView.
Если я добавлю @synthesize
в файл, данные в табличном представлении верны, но при возврате к табличному представлению с помощью контроллера навигации анимация отсутствует.
Я также пытался поместить UITableView в nib-файл listviewcontroller , но результаты были такими же - отмена выделения строки. Я также пытался отменить выбор строки в делегате viewWillAppear
, но indexPath of the indexPathForSelectedRow
равен null .
О, и я использую NSFetchedResultsController . Как я уже сказал - извлеченные результаты верны, но, похоже, они неправильно подаются в табличное представление (если оно не синтезировано ..)
Спасибо!