Pim*_*Pim 7 cocoa-touch core-data magicalrecord swift watchkit
这就是我要做的事情:
我现在有
我想要完成的是拥有一个在我的iPhone应用程序和WatchKit Extension之间共享的持久存储(Core Data).
所以这就是我到目前为止所做的
这是我的DataManager中的初始化程序的样子
public init() {
let sharedContainerURL: NSURL? = NSFileManager.defaultManager().containerURLForSecurityApplicationGroupIdentifier("group.com.company.Project")
if let sharedContainerURL = sharedContainerURL {
let storeURL = sharedContainerURL.URLByAppendingPathComponent("Model.sqlite")
MagicalRecord.setupCoreDataStackWithAutoMigratingSqliteStoreAtURL(storeURL)
let station: Station? = Station.MR_createEntity()
}
}
Run Code Online (Sandbox Code Playgroud)
我遇到的问题
当我从iPhone应用程序的AppDelegate启动我的DataManager时,没有发生崩溃,但是station将是零.
当我用let stations: [Station]? = Station.MR_findAll() as? [Station]应用程序崩溃替换最后一行并显示以下错误:A fetch request must have an entity.
我在GitHub上搜索了所有SO和魔法记录问题,但找不到任何可以让我朝着正确方向前进的东西.非常感谢所有帮助.
感谢Leo Natan的评论,我现在意识到我应该将核心数据存储在 iPhone 应用程序的沙箱以及 WatchKit 应用程序的沙箱中。而不是像我尝试的那样在共享容器内。
在构建 Watch OS 2 时,我将能够使用 WatchKit 连接框架来保持两个数据库同步。与此同时,我可以使用像MMWormhole这样的解决方案来实现同样的目标。
| 归档时间: |
|
| 查看次数: |
609 次 |
| 最近记录: |