【发布时间】:2020-11-22 09:40:24
【问题描述】:
我目前在模态框上有用户输入数据并将其保存到 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")
}
}
【问题讨论】:
标签: ios swift uitableview core-data