如何基于许多Core Data实体返回NSObject数组?

时间:2016-06-01 16:32:50

标签: swift core-data ios9

我在AppDelegate.swift中实现了以下代码:

func persistentStoreEnsemble(ensemble: CDEPersistentStoreEnsemble, globalIdentifiersForManagedObjects objects: [NSManagedObject]) -> [NSObject] {
    let entities = objects as! [Category]
    return entities.map {$0.uniqueIdentifier}
}

此项目使用核心数据,“类别”是我的模型中的一个实体。

问题是该函数仅适用于“类别”实体,但我的项目具有子类别,项目,注释和恢复作为其他实体。那么,我如何编码该方法与所有实体一起工作并根据它收到的实体返回值?

那么,我该怎么做?

1 个答案:

答案 0 :(得分:0)

最后,我通过使用此代码使其工作:

func persistentStoreEnsemble(ensemble: CDEPersistentStoreEnsemble, globalIdentifiersForManagedObjects objects: [NSManagedObject]) -> [NSObject] {

    var array = [NSObject]()

    for object in objects {
        let value: NSObject? = object.valueForKeyPath("uniqueIdentifier") as? NSObject
        array.append(value!)
    }

    return array

}