Coredata NSFetchRequest DictionaryResultType 空属性 Swift

Posted

技术标签:

【中文标题】Coredata NSFetchRequest DictionaryResultType 空属性 Swift【英文标题】:Coredata NSFetchRequest DictionaryResultType null properties Swift 【发布时间】:2015-05-12 11:26:01 【问题描述】:

大家好,我正在使用此代码从 Coredata 获取结果

  func getRequest(entiryDesc:NSEntityDescription) -> NSFetchRequest

    var request:NSFetchRequest = NSFetchRequest()
    request.entity = entiryDesc
    request.resultType = NSFetchRequestResultType.DictionaryResultType
    return request


现在的问题是我也需要包含 Nil 值的所有属性,但是 excutefetchrequest 只返回那些具有值的属性,是否有任何解决方法可以在每次获取时返回带有“”之类的字符串的 Null 属性?感谢进阶

【问题讨论】:

【参考方案1】:

当然,您可以省去.DictionaryResultType 并获取正常的托管对象。字典结果类型有意义的情况很少。

如果你想构建一个所有属性都填满的字典(不管出于什么不透明的原因),请记住两件事:

确保将空值作为对象插入NSNull() 您可以使用NSEntityDescription API 生成所有属性键。使用entityDescription.propertiesByName.allKeys 生成您实体的所有属性名称的列表。

【讨论】:

我知道使用对象形式我可以获得具有空属性的结果,但我需要使用 .DictionaryResultType 来实现这一点,而不需要在最后将 NSMangedObject 转换为 Dictionary 的开销。但感谢您的帮助 Mate 如果您要检索所有属性,则如果您获得托管对象,则不会有额外的“开销”。

以上是关于Coredata NSFetchRequest DictionaryResultType 空属性 Swift的主要内容,如果未能解决你的问题,请参考以下文章