我使用swift 3和nsoutlineview。 我想将核心数据记录的objectID保存到文本字段中。 所以我必须将其转换为字符串:
txtFied.stringValue = "\(CoreData[outlineView.selectedRow].objectID)"
如何将其转换回NSManagedObjectID?
答案 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)
}