我现在有
>一个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的评论我现在意识到我应该将我的核心数据存储在我的iPhone应用程序的沙箱以及我的WatchKit应用程序的沙箱中.而不是像我想要的那样在共享容器内部.构建Watch OS 2时,我将能够使用WatchKit连接框架来保持两个数据库同步.与此同时,我可以使用像MMWormhole这样的解决方案来实现同样的目标.
总结以上是内存溢出为你收集整理的swift – 核心数据(魔法记录)WatchKit扩展Cocoa Touch Framework全部内容,希望文章能够帮你解决swift – 核心数据(魔法记录)WatchKit扩展Cocoa Touch Framework所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)