Когда я загружаю основной список элементов TableView из CoreData, он отлично отображается:
let fetchRequest:NSFetchRequest<Identity> = Identity.fetchRequest()
do
{
identities = try DatabaseController.getContext().fetch(fetchRequest)
print("number of results: \(identities.count)")
for identity in identities as [Identity]
{
print("\(identity.pName!) is \(identity.accuracy)% Robesper. Updeted \(identity.lastModified!).")
}
}
catch
{
print("Error fetchRequest in ViewWillApper: \(error)")
}
Удаление также работает хорошо, поэтому я создал новый NavigationController и представление для добавления нового объекта.
Чтобы проверить список и выяснить, в чем проблема (очевидно), я вывожу list.count . Потому что, когда я загружаю основной TableView со списком, новый ITEM не появляется в основном. Однако, когда я перезапускаю SIMULATOR, он показывает все элементы.
Итак 1. Создал новый объект.
> number of results: 3 Hello World is 99% Robesper. Updeted 2017-07-08 > 17:50:30 +0000. Sex is 99% Robesper. Updeted 2017-07-27 17:56:12 > +0000. test is 99% Robesper. Updeted 2017-07-27 18:03:28 +0000.
Теперь -> Перейти к TableView -> Я проверил список в viewDidLoad и viewWillAppear.
- #P6# <блочная цитата>
блочная цитата>number of results viewDidLoad: 0 viewWillAppear: 0 number of results: 2 Sex is 99% Robesper. Updeted 2017-07-27 17:56:12 +0000. Hello World is 99% Robesper. Updeted 2017-07-08 17:50:30 +0000. after fetch: 2
- Перезапустите СИМУЛЯТОР. Теперь он показывает мне 3 предмета. Но когда я повторяю добавление элементов, это происходит снова.
ВОЗМОЖНО, из-за закрытия программы мы сохранили ее из AppDelegate?
func applicationWillTerminate(_ application: UIApplication)
{
DatabaseController.saveContext()
}
Я вставил сохранение .saveContext() в ViewWillAppear, не сработало. ЧТО? Что я делаю не так, ребята? ПОЖАЛУЙСТА! СПАСИ МЕНЯ :D