gpt4 book ai didi

iphone - NSFetchedResultsController 的 sectionNameKeyPath 不工作

转载 作者:太空狗 更新时间:2023-10-30 03:28:19 26 4
gpt4 key购买 nike

我有一个实体 Order,其属性为 paid,这是一个 bool 值。

我想在 UITableView 中显示所有订单,但我想将它们分为两个部分:“未支付”和“已支付”。所以我想我应该将“付费”作为 sectionNameKeyPath,如下所示:

fetchedResultsController = [[NSFetchedResultsController alloc]
initWithFetchRequest:fetchRequest
managedObjectContext:managedObjectContext
sectionNameKeyPath:@"paid"
cacheName:nil];

根据我的推理,这将导致两个部分,其中第一部分包含所有 paid = NO (0) 的订单,第二部分包含 paid = YES (1)。

但是当我添加一个带有 paid = YES 的新订单时,它会显示在第一部分中。当我 checkin 获取的结果 Controller 委托(delegate)时,我可以看到创建了一个带有 indexPath [0,0] 的新记录!为什么不将其插入第二部分?

最佳答案

尝试向与 NSFetchedResultsController 一起使用的 NSFetchRequest 添加一个排序描述符数组。

您需要首先对付费 bool 值进行排序,然后再根据您要排序的任何其他内容进行排序。

swift 3 示例:

fetchRequest = ... // <- instantiate your fetch request

let sortByPaid = NSSortDescriptor(key: "paid", ascending: true)
let sortByCustomerName = NSSortDescriptor(key: "customer.name", ascending: true) // <- if Order had a relationship to Customer that had an attribute name
fetchRequest.sortDescriptors = [sortByPaid, sortByCustomerName]

// now instantiate fetchedResultsController as in the question above

关于iphone - NSFetchedResultsController 的 sectionNameKeyPath 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6604115/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com