Ios Swift NSFetchedResultsController未基于sectionNameKeyPath进行分区
Ios Swift NSFetchedResultsController未基于sectionNameKeyPath进行分区,ios,swift,nsfetchedresultscontroller,Ios,Swift,Nsfetchedresultscontroller,self.fetchedResultsController.sections!。count在返回1时应返回3 我做错了什么或遗漏了什么?比较:sectionNameKeyPath也必须是第一个排序描述符。@MartinR它不需要是第一个排序描述符,它只需要有排序描述符,这些描述符提供与sectionNameKeyPath(您的链接也描述了(或生成相同相对顺序的键))。我的排序-确实-与转储所有结果时显示的sectionNameKeyPath匹配。是的,我知道,我在简化。-您的第一个排序描述符基于
self.fetchedResultsController.sections!。count
在返回1时应返回3
我做错了什么或遗漏了什么?比较:sectionNameKeyPath也必须是第一个排序描述符。@MartinR它不需要是第一个排序描述符,它只需要有排序描述符,这些描述符提供与sectionNameKeyPath(您的链接也描述了
(或生成相同相对顺序的键)
)。我的排序-确实-与转储所有结果时显示的sectionNameKeyPath匹配。是的,我知道,我在简化。-您的第一个排序描述符基于“isfeatured”–这是否会生成与sectionNameKeyPath相同的相对顺序?如果使用sectionNameKeyPath添加第一个排序描述符是否有效?@MartinR是的,正如我在帖子中明确指出的,我的结果排序正确。我使用的3个排序描述符生成的顺序与我的sectionnum
属性中的值相同。您可以请在转储结果中删除它,因为节号已正确排序。仅第一个排序描述符必须生成与sectionNameKeyPath兼容的排序。
lazy var fetchedResultsController: NSFetchedResultsController<StoryTemplatePack> =
{
let managedObjectContext = (UIApplication.shared.delegate as! AppDelegate).managedObjectContext
var frc: NSFetchedResultsController<StoryTemplatePack> = NSFetchedResultsController(fetchRequest: self.createFetchRequest(), managedObjectContext: managedObjectContext, sectionNameKeyPath: "sectionnum", cacheName: nil)
frc.delegate = self
return frc
}()
// FetchedResultsController: Create Request
func createFetchRequest() -> NSFetchRequest<StoryTemplatePack> {
let fetchRequest = NSFetchRequest<StoryTemplatePack>(entityName: "StoryTemplatePack")
fetchRequest.predicate = NSPredicate.init(format: "productidentifier != nil")
fetchRequest.sortDescriptors = [
NSSortDescriptor(key: "isfeatured", ascending: false),
NSSortDescriptor(key: "ispurchased", ascending: true),
NSSortDescriptor(key: "name", ascending: true)
]
return fetchRequest
}
---- dumping frc, num sections: 1
section 0 pack Incredible Journeys
section 0 pack Out for a Date
section 0 pack Party Time
section 1 pack Holiday Craziness
section 1 pack In the Office
section 1 pack On the Internets
section 1 pack On the Job
section 1 pack School Daze
section 1 pack Social Networking
section 1 pack TV Troubles
section 1 pack Technology Takes Over
section 2 pack Christmas Shenanigans
---- done dumping