Ios 如何获取与我刚刚保存到核心数据的NSManagedObject完全相同的数据?

Ios 如何获取与我刚刚保存到核心数据的NSManagedObject完全相同的数据?,ios,swift,core-data,magicalrecord,Ios,Swift,Core Data,Magicalrecord,简单地说,我是这样做的: var objectID: NSManagedObjectID! MagicalRecord.save(block: { context in if let dictionary = (response as? [AnyHashable: Any])?["data"] as? [AnyHashable: Any] { if let itemInfo = dictionary["item"] as? [AnyHashable: Any] {

简单地说,我是这样做的:

var objectID: NSManagedObjectID!

MagicalRecord.save(block: { context in

    if let dictionary = (response as? [AnyHashable: Any])?["data"] as? [AnyHashable: Any] {

        if let itemInfo = dictionary["item"] as? [AnyHashable: Any] {
            objectID = Item.create(with: itemInfo, in: context).objectID //here objectID is NOT nil
        }
    }

}, completion: { error in

    let item = Item.find(with: objectID) //here item is nil
    completion(item, Error(error: error))
})
我还创建了扩展:

extension NSManagedObject {

    class func find(with objectID: NSManagedObjectID) -> Self? {
        return mr_findFirst(with: NSPredicate(format: "SELF = %@", objectID))
    }
}

我不知道“magic”MagicalRecord在
Item.create
中做了什么,但一般来说,新创建的对象有一个临时ID,在保存上下文时会发生更改。有一个
获取永久ID(for:)
方法在保存之前获取永久ID。我如何调用该方法?有没有办法获取保存到核心数据的对象?我不能使用我的对象的任何属性,因为有许多相同的对象具有相同的属性,我需要的正是我刚才保存的实例。有可能吗?看。