swift 3 将字符串转换为objectID

swift 3 convert string to objectID

我使用 swift 3 和 nsoutlineview。 我想将核心数据记录的 objectID 保存到文本字段中。 所以我必须把它转换成一个字符串:

txtFied.stringValue = "\(CoreData[outlineView.selectedRow].objectID)"

如何将其转换回 NSManagedObjectID?

我已通过持久存储协调器的 managedObjectID(forURIRepresentation:) 方法完成此操作,如下所述:

    // Convert NSManagedObjectID to a string, via the uriRepresentation method.
    let objectIDString = <your managed object ID>.uriRepresentation().absoluteString
    ...
    // Use the persistent store coordinator to transform the string back to an NSManagedObjectID.
    if let objectIDURL = URL(string: objectIDString) {
        let coordinator: NSPersistentStoreCoordinator = <reference to your persistent store coordinator>
        let managedObjectID = coordinator.managedObjectID(forURIRepresentation: objectIDURL)
    }