如何使NSSortDescriptor不按字母顺序排列?

时间:2017-08-06 15:00:42

标签: ios swift core-data

所以我有一个简单的购物清单。到目前为止,列表按字母顺序添加。当我提升为假时,它从Z-A开始,而提升为true则来自A-Z。

我只想根据添加时间添加项目。没有订单,没有任何订单。它只是添加到列表的后面。

这是我到目前为止所做的:

func taskFetchRequest() -> NSFetchRequest<NSFetchRequestResult> {
    let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Shopping")
    let sortDescriptor = NSSortDescriptor(key: "item", ascending: false)
    fetchRequest.sortDescriptors = [sortDescriptor]
    return fetchRequest
}

2 个答案:

答案 0 :(得分:4)

要执行此操作,您必须向Shopping对象添加类似日期添加字段的内容。然后你对那个添加日期的值进行排序。

这仅仅是因为数据库(包括CoreData)表没有内部排序。 (通常底层数据库引擎会生成可能会增加的id。但是你永远不应该依赖这些内部值。)

答案 1 :(得分:1)

您正在根据名称进行排序,我假设ChromeOptions chromeOpt = new ChromeOptions(); chromeOpt.AddArguments("--headless"); chromeOpt.AddArguments("--disable-gpu"); driver = new ChromeDriver(chromeOpt); 在此代码行中是什么

item

如果要按其他方式排序,请添加一个名为let sortDescriptor = NSSortDescriptor(key: "item", ascending: false) (或其他)的属性,您可以在ManagedObject的createdDate方法中初始化该属性,然后可以将其用作排序键:

awakeFromInsert