2017-02-04 90 views
0

我正在为iOS开发一个待办事项列表应用程序,我正在使用CoreData来保存列表和待办事项。我在集合视图中显示它,该集合视图从链接到CoreData实体的数组获取数据。问题是,当你创建一个列表或待办事项时,它会保存但会进入屏幕底部,我认为这是因为当'.saveContext'运行时,被保存的字符串将会到达数组的末尾(基本上附加它),有没有办法指定它来保存到数组的开始?有点像myArray.insert(“你好”,网址为:0),而不是myArray.append(“你好”)如何将字符串保存到CoreData数组的起始处

+0

您应该为您的item对象添加'createdDate'或类似的日期属性,然后您可以按此属性进行排序。 – Paulw11

回答

0

你不能改变的CoreData节省订单,但您也可以叫reverse()CoreData的取阵列上先显示最后一项。

self.yourArray = try! context.fetch(request) 
self.yourArray.reverse() //Now last entry will show first 
0

当你正在做一个读取请求获得清单或待办事项,你可以指定一个NSSortDescriptor以任何顺序取出的对象进行排序。您可以在该键集排序在列表和待办事项(当你创建对象将此属性设置为NSDate())一creationDate属性,然后:

let sortDescriptor = NSSortDescriptor(key: "creationDate", ascending: false) 
let request = ...// your NSFetchedRequest 
request.sortDescriptors = [sortDescriptor] 

祝你好运!

相关问题