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的主要内容,如果未能解决你的问题,请参考以下文章