具有非唯一部分名称的 NSFetchedResultsController

NSFetchedResultsController with non unique section name

我正在使用以下代码初始化 NSFetchedResultsController

self.fetchedResultsController = NSFetchedResultsController(
            fetchRequest: request,
            managedObjectContext: context,
            sectionNameKeyPath: "article.name",cacheName: nil
        )

这里的文章可以有相同的 name.So article.name sectionNameKeyPath 是非 unique.In 这种情况 fetchedResultsController 将只有一个部分。

如何处理具有相同部分名称的多个部分?

对于 sectionKeyPath return 部分的 UUID(article.articleId 等)。然后,当您在部分中显示 header 的标题时,不要显示来自 fetchedResultsController (self.fetchedResultsController.sections[section].name) 的命名 returned,而是获取该部分中的第一个 object并据此确定您真正想要显示的内容 (self.fetchedResultsController.sections[section].objects.firstObject.article.name)。