2011-01-29 264 views

回答

3

這將返回最後一個插入的對象。

setFetchLimit:1和setFetchOffset:所有條目的數量 - 1]

0

我不認爲這是Core Data本地支持的。我想你最好的選擇是給你的實體添加一個「dateInserted」屬性。

+0

我設法通過setFetchLimit做到這一點:setFetchOffset :,但我還是謝謝你:) – Olsi 2011-01-29 21:02:24

0

方法1:
我已經擴展@Olsi答案示例代碼,包括行獲得的數所有實體。以下是我已經做到了:

let appDelegate: AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate 
let context: NSManagedObjectContext = appDelegate.managedObjectContext 

let request = NSFetchRequest(entityName: "MyEntity") 
let allElementsCount = context.countForFetchRequest(request, error: nil) 
request.fetchLimit = 1 
request.fetchOffset = allElementsCount - 1 
request.returnsObjectsAsFaults = false 

方法2:
Howerver有使用sortDescriptors另一種方法。不知道這是更好的契合,他們都做同樣的工作:

let appDelegate: AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate 
let context: NSManagedObjectContext = appDelegate.managedObjectContext 

let request = NSFetchRequest(entityName: "MyEntity") 
request.sortDescriptors = [NSSortDescriptor(key: "momentTimeStamp", ascending: false)] 
request.fetchLimit = 1 
request.returnsObjectsAsFaults = false