繁体   English   中英

如何(可以)从NSFetchedResultsController获取其他部分的内容?

[英]How to(Can I) get the content of other section from a NSFetchedResultsController?

假设我有一个像这样的数据库表:

| id   | gender|  
|------|-------|  
| 0001 | Male  |  
| 0002 | Male  |  
| 0003 | Female|  
| 0004 | Female|

我使用NSFetchedResultsController和“ id”作为NameKeyPath来获取四个部分:

var fetchedID = NSFetchedResultsController(fetchRequest: fetchRequest, 
    managedObjectContext: managedContext,
    sectionNameKeyPath: "id", cacheName: nil)
do {
    try fetchedDay.performFetch()
} catch {
    fatalError("Failure to save context: \(error)")
}

我知道我可以得到这个ID:

var ID = fetchedID.sections![0].name

问题是:我也想同时获取每个id的性别。

我可以吗?

非常感谢!

使用“ id”作为sectionNameKeyPath您将为每个唯一ID划分一个单独的部分,将具有相同ID的所有实例分组为一个组。 由于id可能是唯一的,这意味着每个组将是一个记录。 与其为唯一字段分组,不如为sectionNameKeyPath指定sectionNameKeyPath ,通常最好只指定nil

在每个部分中,您将获得完整记录,因此可以使用fetchedID.sections![n]返回nth部分,并可以使用fetchedID.sections![x].objects![y]来获取单个记录fetchedID.sections![x].objects![y]在第xth节中获取yth对象。

或者,您可以使用fetchedObjects属性来获取所有记录,而与节无关: fetchedID.fetchedObjects[n]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM