【问题标题】:See saved class from NSManagedObjectContextDidSaveNotification?从 NSManagedObjectContextDidSaveNotification 查看保存的类?
【发布时间】:2013-05-16 18:58:30
【问题描述】:

我想知道是否有可能以某种方式从 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。但我不知道该怎么做。有什么想法吗?

【问题讨论】:

  • 所以问题实际上是关于知道什么是类的类型?

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


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-07
    • 2019-07-21
    • 1970-01-01
    • 2018-10-10
    • 2021-04-28
    • 1970-01-01
    相关资源
    最近更新 更多