请参阅NSManagedObjectContextDidSaveNotification中保存的类?

时间:2013-05-16 18:58:30

标签: ios objective-c cocoa-touch core-data

我想知道是否有可能以某种方式从NSManagedObjectContextDidSaveNotification中看到保存NSManagedObject类?

我尝试过这样的事情:

[[notification userInfo] objectForKey:NSInsertedObjectsKey] [???]

我想检查这本词典中的第一个对象是否是。 [[notification userInfo] objectForKey:NSInsertedObjectsKey]返回类似这样的内容:

$0 = 0x0a4c2bd0 {(
    <StreamType: 0x94d5910> (entity: StreamType; id: 0xa4c86d0 <x-coredata://B9DA2DE0- 26E0-4BA1-A0A1-14E4EC54E24F/StreamType/p1> ; data: {
    posts =  ...

所以,我想检查第一个对象是否类StreamType。但我无法弄清楚如何做到这一点。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

[[notification userInfo] objectForKey:NSInsertedObjectsKey]会返回NSSet,这是一个无序集合,并且没有“第一个元素”。

您可以通过枚举集合来测试所有插入的对象:

NSSet *inserted = [[notification userInfo] objectForKey:NSInsertedObjectsKey];
for (NSManagedObject *obj in inserted) {
    if ([obj isKindOfClass:[StreamType class]]) { 
        ...
    }
}