核心数据 - 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。检查您的数据存储。