加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift – 核心数据(魔法记录)WatchKit扩展Cocoa Touch Framework

发布时间:2020-12-14 05:24:17 所属栏目:百科 来源:网络整理
导读:这就是我要做的事情: 我现在有 一个iPhone应用程序 WatchKit扩展 一个Cocoa Touch Framework,它包含我所有的共享类 我想要完成的是拥有一个在我的iPhone应用程序和WatchKit Extension之间共享的持久存储(Core Data). 所以这就是我到目前为止所做的 创建一个
这就是我要做的事情:

我现在有

>一个iPhone应用程序
> WatchKit扩展
>一个Cocoa Touch Framework,它包含我所有的共享类

我想要完成的是拥有一个在我的iPhone应用程序和WatchKit Extension之间共享的持久存储(Core Data).

所以这就是我到目前为止所做的

>创建一个应用程序组以拥有共享容器.
>将核心数据模型(Model.xcdatamodeld)添加到我的Cocoa Touch Framework.
>在此模型中创建了一个实体
>为此实体创建了一个NSMangedObject子类,并添加到我的Cocoa Touch Framework中
>在我的Cocoa Touch Framework中添加了一个DataManager类

这是我的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()
    }
}

我遇到的问题

当我从iPhone应用程序的AppDelegate初始化我的DataManager时,没有发生崩溃,但是站点将是零.

当我用let站替换最后一行时:[Station]? = Station.MR_findAll()为? [Station]应用程序崩溃并显示以下错误:获取请求必须具有实体.

我在GitHub上搜索了所有SO和魔法记录问题,但找不到任何可以让我朝着正确方向前进的东西.非常感谢所有帮助.

感谢 Leo Natan的评论我现在意识到我应该将我的核心数据存储在我的i??Phone应用程序的沙箱以及我的WatchKit应用程序的沙箱中.而不是像我想要的那样在共享容器内部.

构建Watch OS 2时,我将能够使用WatchKit连接框架来保持两个数据库同步.与此同时,我可以使用像MMWormhole这样的解决方案来实现同样的目标.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读