核心数据 - NSFetchRequestResult:结果中一对多关系中的项目数?
Core Data - NSFetchRequestResult: count of items in one-to-many relationship from result?
考虑一个具有两个实体的核心数据模型:TermDictionary 和 Term。 TermDictionary 有一个 "name" 属性 和一个称为 "terms" 的一对多关系,它指向一组 Term 对象,每个对象由两个属性组成:"name" 和 "score".
我有一个 NSFetchRequest,我将其用作 UITableView 的数据源,它显示数据库中的所有 TermDictionaries。这个想法是 table 将为每个单元格显示字典的名称,以及该字典中术语的数量。
在以下代码片段中,item
包含 "TermDictionary"
实体的 NSFetchRequestResult:
let thisDict = item as! TermDictionary
cell.textLabel?.text = thisDict.name
cell.detailTextLabel?.text = "\(thisDict.terms?.count ?? 0) terms"
...table 单元格正确显示术语词典的名称,但看起来 thisDict.terms
总是出现 nil,因此术语标签总是显示零。
我是否需要对 item
做一些特殊的事情而不是仅仅将其转换为我的 TermDictionary
托管对象子类?
您不需要做任何特别的事情。如果 thisDict.terms
打印为 nil,那么它确实是 nil。检查您的数据存储。
考虑一个具有两个实体的核心数据模型:TermDictionary 和 Term。 TermDictionary 有一个 "name" 属性 和一个称为 "terms" 的一对多关系,它指向一组 Term 对象,每个对象由两个属性组成:"name" 和 "score".
我有一个 NSFetchRequest,我将其用作 UITableView 的数据源,它显示数据库中的所有 TermDictionaries。这个想法是 table 将为每个单元格显示字典的名称,以及该字典中术语的数量。
在以下代码片段中,item
包含 "TermDictionary"
实体的 NSFetchRequestResult:
let thisDict = item as! TermDictionary
cell.textLabel?.text = thisDict.name
cell.detailTextLabel?.text = "\(thisDict.terms?.count ?? 0) terms"
...table 单元格正确显示术语词典的名称,但看起来 thisDict.terms
总是出现 nil,因此术语标签总是显示零。
我是否需要对 item
做一些特殊的事情而不是仅仅将其转换为我的 TermDictionary
托管对象子类?
您不需要做任何特别的事情。如果 thisDict.terms
打印为 nil,那么它确实是 nil。检查您的数据存储。