我有一个核心数据实体:
@objc(Messages)
class Messages: NSManagedObject {
@NSManaged var receiver: String?
@NSManaged var time: NSDate?
@NSManaged var message: String?
}
其中我使用 var time = NSDate()
我尝试像这样获取数据:
func fetchData(limit: Int, sort: Bool, sorter: String) -> Array<AnyObject> {
let freq = NSFetchRequest(entityName: self.coreDataEntity)
freq.fetchLimit = limit
if sort == true {
freq.sortDescriptors = [NSSortDescriptor(key: sorter, ascending: false)]
}
do {
try self.fetchArray = context.executeFetchRequest(freq)
} catch let error as NSError {
print("CoreData - Fehler (fetch): \(error.localizedDescription)")
}
fetchArray.reverse()
return fetchArray!
}
我想要的是最后 25 个条目。最新条目应该是数组中的最后一个。
我这样调用它:
var messages:Array<AnyObject> = []
...
self.messages = fetchData(25, sort: true, sorter: "time")
但是fetchArray.reverse()
什么也没做
最佳答案
反向返回一个由相反顺序的元素组成的数组,它不会重新排列现有数组中的项目。只需修改为:
let newArray = fetchArray.reverse()
fetchArray = newArray
return fetchArray!
关于ios - 按日期获取最后 25 个 CoreData 条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32187086/