Ios 应用程序运行时如何显示核心数据

Ios 应用程序运行时如何显示核心数据,ios,swift,core-data,Ios,Swift,Core Data,我能够在我的分数表视图控制器上成功显示分数详细信息,但是,当我关闭并重新打开应用程序时,数据不再存在 我正在viewDidLoad中使用以下代码,View将出现在我的分数表视图控制器中: // Game Data let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate let fetchRequest = NSFetchRequest(entityName: "SaveGa

我能够在我的分数表视图控制器上成功显示分数详细信息,但是,当我关闭并重新打开应用程序时,数据不再存在

我正在viewDidLoad中使用以下代码,View将出现在我的分数表视图控制器中:

    // Game Data

    let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
    let fetchRequest = NSFetchRequest(entityName: "SaveGame")
    fetchRequest.sortDescriptors = [NSSortDescriptor(key: "datePlayed", ascending: false)]
    fetchedResultsController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: appDelegate.managedObjectContext, sectionNameKeyPath: nil, cacheName: nil)

    do {
    try fetchedResultsController.performFetch()
    }
    catch {
        print("Error")
    }
    print(fetchedResultsController.fetchedObjects?.count)

    scoresTableView.dataSource = self
我可以成功显示所有“分数历史记录”数据,但直到用户退出应用程序。然后,“分数表”视图只显示空数据


我看过CoreData教程,但使用它们会让我改变我的整个代码。我更希望知道要放在视图上的一些代码片段会显示给我,以便在用户退出应用程序时能够持久保存数据…

应该将
fetchResultsController
创建为一个惰性实例化属性,而不是在
视图中始终创建新实例…
@vadian如何做到这一点coredata的所有实现几乎不可能告诉您问题所在,而且您不想遵循教程的路径,我想说的是,很有可能有些东西没有正确实现,请提供正确的代码。在启用核心数据的Xcode中创建一个新的主详细信息示例项目,并查看自动创建的代码。请尝试
scoresTableView.reloadData()
fetchResultsController
应该作为惰性实例化属性创建,而不是在
视图中始终创建新实例…
@vadian如何做到这一点?如果没有coredata的全部实现,几乎不可能告诉您问题所在,如果你不想遵循教程的路径,我想说的是,很可能有些东西没有正确实现,请提供适当的代码。在Xcode中创建一个新的主细节示例项目,启用核心数据并查看自动创建的代码。尝试
scoresTableView.reloadData()