В настоящее время у меня есть данные, вводимые пользователем в модальном окне, и я сохраняю их в Core Data:
var container: NSPersistentContainer!
func saveContext() {
if container.viewContext.hasChanges {
do {
try container.viewContext.save()
} catch {
print("An error occured whlie saving: \(error.localizedDescription)")
}
}
}
После закрытия модального окна я хочу перезагрузить таблицу на родительском контроллере представления. Но независимо от того, как я ее загружаю, из viewDidLoad или viewWillAppear таблица не перезагружается. Я знаю, что данные правильно сохраняются в Core Data, потому что, когда я перестраиваю, данные правильно отображаются в таблице.
Это функция, которую я хочу запускать при отклонении модального окна:
func loadSavedData() {
if fetchedResultsController == nil {
let request = Goal.createFetchRequest()
let sort = NSSortDescriptor(key: "title", ascending: true)
request.sortDescriptors = [sort]
request.fetchBatchSize = 20
fetchedResultsController = NSFetchedResultsController(fetchRequest: request, managedObjectContext: container.viewContext, sectionNameKeyPath: "title", cacheName: nil)
fetchedResultsController.delegate = self
}
fetchedResultsController.fetchRequest.predicate = myPredicate
do {
try fetchedResultsController.performFetch()
tableView.reloadData()
} catch {
print("Fetch failed")
}
}