appdelegate
passes modelview
to each tab controller
|
|
/ \
/ \
/ \
/ \
/ \
/ \
vc1 vc2
show list show grouped
of years table with years
| as headers and
| courses within
vc3 each year
list courses
in selected
year
|
|
add new
course to
selected
year
В vc1 и vc2 сущность, которую я читаю из своей базовой модели данных, - это "годы".В подпрограммах «numberOfRowsInSection ()» и т. Д. Я получаю доступ к курсам через отношения «ко-многим» в моей модели через NSSet ().(т.е. курсы_рель).Все это прекрасно работает для начального отображения обоих представлений.
vc3 также прекрасно работает.Пользователь может добавить новый курс в любой выбранный год.
Вот моя проблема.Когда пользователь добавляет новый курс через vc3, а затем переключается на vc2, новый курс не отображается, и я получаю сообщение об ошибке, приведенное ниже.Я знаю, что получаю сообщение об ошибке, потому что изменение было внесено в таблицу базы данных курсов, но представление таблицы в vc2 загружается из таблицы "years".Он никогда не получает «didChangeObject» и другие соответствующие сообщения, поскольку имеет дело с «годами», а не с курсами.Тем не менее, тело каждого сгруппированного раздела представляет собой список курсов!
Как получить изменения в таблице курсов (vc3), которые сразу же отражаются при переходе пользователя на vc2?
Iпоместили новую операцию выборки и [view reloadData] в функцию viewWillLoad, но опять же, это выборка лет, а не курсов, поэтому она не имеет никакого эффекта.
Вот ошибка, которую я получаю, когда пользователь переключаетсяпосле добавления курса в vc3.
CoreData: ошибка: серьезная ошибка приложения.Исключение было получено от делегата NSFetchedResultsController во время вызова -controllerDidChangeContent :.Неверное обновление: недопустимое количество строк в разделе 0. Число строк, содержащихся в существующем разделе после обновления (3), должно быть равно числу строк, содержащихся в этом разделе до обновления (2), плюс или минус числоиз строк, вставленных или удаленных из этого раздела (0 вставлено, 0 удалено) и плюс или минус количество строк, перемещенных в или из этого раздела (0 перемещено, 0 перемещено).с userInfo (null)