从获取中排除属性/字段 - 核心数据
Posted
技术标签:
【中文标题】从获取中排除属性/字段 - 核心数据【英文标题】:Excluding a property/field from fetching - Core Data 【发布时间】:2016-02-06 02:26:51 【问题描述】:如何从获取中排除字段?例如我有 3 个字段:
username : String?
password : String?
capturedImages : NSSet?
of Images // 我想从获取中排除这个
我想排除capturedImages
,因为它可能包含大量图像。如果我只想获取username
和password
,我该怎么做?
【问题讨论】:
您是否为您的 NSFetchRequest 尝试了 setPropertiesToFetch? @Allen 你能给我举个例子吗?我还没试过 @EncioPeter 类似“request.propertiesToFetch = ["Attribute A", "Attribute B"...]" 【参考方案1】:由于capturedImages
是一种关系,这些实体不会被预取(默认情况下),而是作为a fault in your object graph 的一部分存在。
在您专门访问该集合的项目之前,不会检索您的图像。
在不相关的注释中,您可以如下修改您的 NSManagedObject
子类,以便更轻松地在 Swift 中使用该对象。
Set
类型代替 NSSet
。
强烈键入集合的内容。
@NSManaged var username: String
@NSManaged var password: String
@NSManaged var capturedImages: Set<Image>
这消除了不必要的解包或强制转换,并允许 Swift 在编译之前对您的代码进行类型检查。
【讨论】:
以上是关于从获取中排除属性/字段 - 核心数据的主要内容,如果未能解决你的问题,请参考以下文章