我正在为iOS开发一个待办事项列表应用程序,我正在使用CoreData来保存列表和待办事项。我在一个集合视图中显示它,它从链接到CoreData实体的数组中获取数据。问题在于,当你创建一个列表或待办事项时,它会保存但会转到屏幕的底部,我认为这是因为当运行'.saveContext'时,保存的字符串将转到数组的末尾(基本上附加它),有没有办法指定它保存到数组的开头?有点像myArray.insert(“hello”,at:0)而不是myArray.append(“hello”)
答案 0 :(得分:1)
您无法更改CoreData
的保存顺序,但只需在reverse()
的已获取数组上调用CoreData
即可显示最后一个条目。
self.yourArray = try! context.fetch(request)
self.yourArray.reverse() //Now last entry will show first
答案 1 :(得分:0)
当您执行获取列表或待办事项的获取请求时,您可以指定NSSortDescriptor
以按任何顺序对获取的对象进行排序。您可以在列表和待办事项上设置creationDate
属性(在创建对象时将此属性设置为NSDate()
),然后对该键进行排序:
let sortDescriptor = NSSortDescriptor(key: "creationDate", ascending: false)
let request = ...// your NSFetchedRequest
request.sortDescriptors = [sortDescriptor]
祝你好运!