如何从NSNotification对象(核心数据)获取对象

Adr*_*ian 1 core-data ios swift

我可以访问从NSManagedObjectContextObjectsDidChangeNotification添加/编辑/删除核心数据值时收到的通知.

我从以下数据获得以下数据userInfo:

Optional([deleted: {(
    <Product: 0x7f8d1a634370> (entity: Product; id: 0xd0000000002c0000 <x-coredata://A9A941BF-C4BA-4E1F-972D-F188032C93E0/Product/p11> ; data: {
    amount = 54;
    date = "2016-01-10 17:16:53 +0000";
    name = test65;
})
)}, managedObjectContext: <NSManagedObjectContext: 0x7f8d1a705040>])
Run Code Online (Sandbox Code Playgroud)

但我无法设法检索更改的Product对象,因此我可以访问其属性(金额,日期,名称).

我可以看到有[ NSObject: AnyObject]字典,但我仍然无法获得该对象.

vad*_*ian 6

文件说:

通知object是托管对象上下文.该userInfo 字典包含以下键:NSInsertedObjectsKey, NSUpdatedObjectsKey,和NSDeletedObjectsKey.

每个键的值-如果有的话-是SetNSManagedObject对象.

if deletedObjects = userInfo[NSDeletedObjectsKey] as? Set<Product> {
  for product in deletedObjects {
    print(product.amount)
  }
}
Run Code Online (Sandbox Code Playgroud)