使用 Core Data 在 Apple Watch 和 iPhone 之间共享数据
Sharing data between apple watch and iPhone using Core Data
我制作了以下 DataAccess.swift 文件以在框架内的 Apple Watch 和 iPhone 应用程序之间共享核心数据。 phone中的应用程序运行完美,而在apple watch运行时显示错误。
public lazy var managedObjectModel: NSManagedObjectModel = {
let proxyBundle = NSBundle(identifier: "group.com.qburst.toDoListAppGroup")
**let modelURL = proxyBundle?.URLForResource("DateSaver", withExtension: "momd")!**
return NSManagedObjectModel(contentsOfURL: modelURL!)!
}()
对于上面的代码,我收到错误“致命错误:在展开可选值时意外发现 nil
(lldb) " 用于代码中标记的行。
我已按照 GitHub
中的教程进行操作
任何人都可以告诉我代码有什么问题或 Watch 应用程序失败的原因吗?
我相信你误解了什么是包标识符,包标识符不是从光盘加载包的一种方式,它是一种在加载后识别包的方法。
在Github的演示代码中,NSManagedObjectModel
是这样获取的:
public lazy var managedObjectModel: NSManagedObjectModel = {
// The managed object model for the application. This property is not optional. It is a fatal error for the application not to be able to find and load its model.
let modelURL = NSBundle.mainBundle().URLForResource("CoreDataWatch", withExtension: "momd")!
return NSManagedObjectModel(contentsOfURL: modelURL)!
}()
确保在 xcode 的构建功能选项卡下,在两个目标中都打开了应用程序组。
我制作了以下 DataAccess.swift 文件以在框架内的 Apple Watch 和 iPhone 应用程序之间共享核心数据。 phone中的应用程序运行完美,而在apple watch运行时显示错误。
public lazy var managedObjectModel: NSManagedObjectModel = {
let proxyBundle = NSBundle(identifier: "group.com.qburst.toDoListAppGroup")
**let modelURL = proxyBundle?.URLForResource("DateSaver", withExtension: "momd")!**
return NSManagedObjectModel(contentsOfURL: modelURL!)!
}()
对于上面的代码,我收到错误“致命错误:在展开可选值时意外发现 nil (lldb) " 用于代码中标记的行。
我已按照 GitHub
中的教程进行操作任何人都可以告诉我代码有什么问题或 Watch 应用程序失败的原因吗?
我相信你误解了什么是包标识符,包标识符不是从光盘加载包的一种方式,它是一种在加载后识别包的方法。
在Github的演示代码中,NSManagedObjectModel
是这样获取的:
public lazy var managedObjectModel: NSManagedObjectModel = {
// The managed object model for the application. This property is not optional. It is a fatal error for the application not to be able to find and load its model.
let modelURL = NSBundle.mainBundle().URLForResource("CoreDataWatch", withExtension: "momd")!
return NSManagedObjectModel(contentsOfURL: modelURL)!
}()
确保在 xcode 的构建功能选项卡下,在两个目标中都打开了应用程序组。