0

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

我尝试过这样的事情:

[[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 =  ...

所以,我想检查第一个对象是否是 class StreamType。但我不知道该怎么做。有任何想法吗?

4

1 回答 1

2

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

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

NSSet *inserted = [[notification userInfo] objectForKey:NSInsertedObjectsKey];
for (NSManagedObject *obj in inserted) {
    if ([obj isKindOfClass:[StreamType class]]) { 
        ...
    }
}
于 2013-05-16T19:06:54.987 回答