的顺序是有一个内部ID变量或时间戳我可以在NSSortDescriptor用于检索顺序核心数据实体它们插入?检索的核心数据实体中插入
我宁可不要创建这样的属性,如果有一个更清洁的方式,但是显然这样做,如果没有其他的替代品。
的顺序是有一个内部ID变量或时间戳我可以在NSSortDescriptor用于检索顺序核心数据实体它们插入?检索的核心数据实体中插入
我宁可不要创建这样的属性,如果有一个更清洁的方式,但是显然这样做,如果没有其他的替代品。
没有,如果你想为你的数据的排序顺序,你需要的是添加到您的实体自己。但是,您可以轻松地添加默认值为“NOW”的NSDate属性,以便它自动填充。
您还可以添加一个属性到你的实体,将其命名为类似“sortNum”,每当你取你的实体,你带着一种描述它牵回家。
步骤1
添加的那种属性,在这种情况下,我把它命名为 “displayOrder”
步骤2
追加或插入新项目你的清单。
let insertAt = 0
managedContextVar.insert(mngdObjectVar, atIndex: insertAt)
步骤3
度假村一切都在该实体和更新其排序值。
func updateDisplayOrder() {
for i in 0..<taskList_Cntxt.count {
let task = taskList_Cntxt[i]
task.setValue(i, forKey: "displayOrder")
}
}
然后保存!
步骤4
现在,下一次你做一个读取请求时,请务必在排序添加。
let sortDescriptor = NSSortDescriptor(key: "displayOrder", ascending: true)
就是这样!
应该处理您的排序相当好。说实话,有时候这段代码并不会从顶部插入我的新项目,而是从顶部插入我的新项目,但95%的代码运行良好。无论如何,你明白了这一点,并且可以调整和改进它。
好运。
不错,简单的想法 - 感谢 – Slee 2010-07-13 18:45:25
设置默认值到现在都不行,你就需要把self.date = [NSDate的日期]在你的NSManagedObject子类里面 - (void)awakeFromInsert。 – 2012-07-06 07:44:44