ios - 无论 NSFetchedResultsController 中的 sectionNameKeyPath 如何,都更改排序顺序

标签 ios swift core-data nsfetchedresultscontroller

我正在使用 NSFetchedResultsController 按部分分组,其中 sectionNameKeyPath 根据类别。

我的类别是:成人、 child 、视觉、无。

升序排序:成人、 child 、无、视力

降序排序:视觉、无、 child 、成人

无论排序顺序如何,我都希望 None 类别最后出现。

所需排序升序:成人、 child 、视力、无

所需排序降序:视力、 child 、成人、无

使用的代码如下:

let fetchedResultsController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: managedOC, sectionNameKeyPath: "category", cacheName: nil)

最佳答案

我认为由于您将类别存储为字符串,而字符串值只能按字母顺序排序。 是否可以在数据库中创建一个数字字段?并像这样存储数值 成人 = 1, child = 2,视力 = 3,无 = 4, 通过您可以轻松地按升序或降序排列和排序数据。希望对您有所帮助。

关于ios - 无论 NSFetchedResultsController 中的 sectionNameKeyPath 如何,都更改排序顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46969625/

相关文章:

ios - 解析错误预期标识符或 '('

ios - 如何在成功连接 NSURL 后关闭警报 View

ios - AlamoFire + ObjectMapper,如何让一个函数接受一个可映射类型的参数?

swift - 一旦答案明确,Swift 中是否有一个运算符会停止对多表达式条件语句的求值?

ios - 在 iCloud 中使用 CoreData 时,iCloud 会同步所有 CoreData 数据吗

ios - Swift 中 UIPickerView 的自定义数据源类

ios - 用于非网格或半网格布局的 UICollectionView

ios - 如何在结束通话后删除CallKit的回调选项UI

ios - 核心数据迁移 : change value type

iphone - 使用 NSPredicate 获取核心数据对象数组?