2011-01-29 7 views

答えて

3

最後に挿入されたオブジェクトを返します。

setFetchLimit:1とsetFetchOffset:[すべてのエントリの数 - 1]

0

これは、Core Dataによってネイティブにサポートされているとは思われません。私はあなたの最善の策はあなたのエンティティに "dateInserted"属性を追加することだと思います。

+0

私はsetFetchLimitを通じてそれを行うために管理:より良いフィットしているかわからない、彼らの両方が同じ仕事をする&setFetchOffset :,しかし、おかげでとにかく:) – Olsi

+0

どのように?ちょうど興味があります... – westsider

+0

setFetchLimit:1とsetFetchOffset:[全エントリ数-1] - 最後に挿入されたオブジェクトを返します。 – Olsi

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:
sortDescriptorsを使用して、別のアプローチがありますHowerver。

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 
関連する問題