【问题标题】:CoreData not firing faultsCoreData 没有触发错误
【发布时间】:2015-01-22 11:57:51
【问题描述】:

我正在开发一个选项卡式应用程序,并且一段时间以来一直在努力解决CoreData 问题。我会尽量讲清楚。

应用程序从一个选项卡开始,该选项卡从CoreData 获取某些类型的对象(连同它们的多对多关系)并以某种方式显示数据。在另一个选项卡中,我有一个UITableView,它使用NSFetchedResultsController 来显示不同类型的对象。两个选项卡都使用相同的NSManagedObjectContext。还有其他选项卡不使用 CoreData 或任何以前检索到的对象。

当我进入第一个选项卡时,一切正常并正确显示。当我从那里导航到不使用 CoreData 的选项卡并再次返回时,一切都很好。但是,当我使用UITableViewNSFetchedResultsController 导航到选项卡然后再次返回时,我在第一个选项卡中的对象出现故障。这并不让我感到惊讶,但我似乎无法解雇他们。我正在尝试访问对象的 To-Many 关系和 count 值,据我所知,它应该触发一个错误的对象。

我不确定如何看待这种行为。会不会是 NSFetchedResultsController 以某种方式弄乱了之前的获取?这听起来不合理......

另外,请注意,我正在使用 Swift,但这应该不会影响任何事情。

任何意见将不胜感激!谢谢!

【问题讨论】:

  • 您说“我的第一个选项卡中的对象有问题”,但您实际看到的是什么?在 UI 中是否显示 <fault>
  • 是的,它确实说 。我不知道到底是怎么回事,但经过一些重构后,我得到了工作..
  • 请您提供更多详细信息,说明您究竟重构了什么以使事情正常进行。我面临同样的问题并寻求帮助解决。需要注意的一件事是,这只是在 swift 中发生。

标签: ios core-data swift nsfetchedresultscontroller nsfetchrequest


【解决方案1】:

不看实际代码很难回答这类问题。但是,您的fetchResultController 的结果似乎在导航期间正在更改。一个好的做法是,尝试执行您的fetchRequest 并将其提供给 ViewController 的viewWillAppear 中的fetchResultController

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-08
    • 2019-02-10
    相关资源
    最近更新 更多