【发布时间】:2014-05-18 21:59:59
【问题描述】:
我希望将 iCloud 与 Core-Data 管理的 SQLite 数据库集成(仅在 iOS 7 及更高版本上)。我一直在阅读 Apple 关于将 Core Data 与 iCloud 结合使用的指南 (https://developer.apple.com/library/ios/documentation/DataManagement/Conceptual/UsingCoreDataWithiCloudPG/UsingCoreDataWithiCloudPG.pdf)。
引用指南的话,“Core Data 发布 NSPersistentStoreCoordinatorStoresWillChangeNotification 通知。在通知处理程序中,您重置托管对象上下文并删除对现有托管对象的任何引用。”
在 MOC 上调用 -reset 来重置它不是问题,问题在于他们说需要删除对托管对象的所有引用的部分。我明白为什么需要这样做(因为持久存储正在改变),但我不知道该怎么做。
我所有的核心数据工作都是由一个单例处理的,我最初想发布一个通知,监听类可以将它们所有的托管对象设置为 nil。首先,这听起来不是一个特别好的方法。其次,我有一个 FetchedResultsController 管理一个 tableView,FetchedResultsController 管理它自己的托管对象,因此,据我所知,我不能将它们设置为 nil。
如果您能提供任何关于在这里做什么的建议,我将不胜感激。
提前致谢。
【问题讨论】:
标签: ios objective-c core-data icloud