0

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

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

现在我已经在两个视图控制器之间传递了 URL,目标视图控制器具有以下代码:

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

和行:

let editableObjectID = managedObjectID(forURIRepresentation: editableObjectURL!)

抛出“使用未解析的标识符“managedObjectID””

我在这里遇到了一堵墙,似乎无法弄清楚这一点。API 文档建议这应该可以执行,但它引用的方法似乎不存在。

欢迎大家提出意见。

4

1 回答 1

1

managedObjectID(forURIRepresentation:)是persistentStoreCoordinator 上的一个方法。persistentStoreCoordinator您可以从 managedObjectContext (属性)获取商店协调器

    let editableObjectID = context.persistentStoreCoordinator.managedObjectID(forURIRepresentation: editableObjectURL!)
于 2017-03-12T12:25:30.393 回答