managedObjectID 抛出 "Unresolved Identifier" 错误

managedObjectID throwing "Unresolved Identifier" Error

我正在尝试从 CoreData 存储中获取特定项目,以便我可以编辑键的特定值。编辑发生在与选择要编辑的实体不同的 ViewController 中。

我在原始视图控制器中 prepare(for segue:) 使用 objectID 的 uriRepresenation() 方法将所选实体的 objectID 作为 URL 传递。这样做是因为我不知道如何将 objectID 存储为 NSManagedObjectID(我得到类型不匹配的错误)

现在我有 URL 在两个视图控制器之间传递,desitantion 视图控制器具有以下代码:

 override func viewDidLoad() {
    toggleDatePicker()
    self.tableView.tableFooterView = UIView()
    let editableObjectID = managedObjectID(forURIRepresentation: editableObjectURL!)
    let editableEntity = context.object(with: editableObjectID!)
}

还有一行:

let editableObjectID = managedObjectID(forURIRepresentation: editableObjectURL!)

抛出 "Use of unresolved identifier "managedObjectID""

我已经 运行 在这里撞墙了,似乎无法弄清楚这一点。 The API documentation 建议这应该可以执行,但它引用的方法似乎不存在。

欢迎提出任何建议。

managedObjectID(forURIRepresentation:) 是 persistentStoreCoordinator 上的一个方法。您可以从 managedObjectContext (属性 persistentStoreCoordinator)

中获取商店协调器
    let editableObjectID = context.persistentStoreCoordinator.managedObjectID(forURIRepresentation: editableObjectURL!)