swift 3将字符串转换为objectID

时间:2017-05-15 13:26:24

标签: macos swift3 xcode8

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

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

如何将其转换回NSManagedObjectID?

1 个答案:

答案 0 :(得分:6)

我是通过持久性商店协调员的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)
    }