0

レコードをフェッチするときに最新のレコードを取得するにはどうすればよいですか?

例えば:

  • 最初の反復では、「シンガポール」をオブジェクト名 Country で保存し、
  • 2 回目の反復では、"USA" をオブジェクト名 Country,second で保存します

今私がそれを取得するとき

SomeDatabase *Country = [SomeDatabase MR_findFirst];

NSLog(@"Country Name---->%@",Country.Name); 

「シンガポール」とわかりました。

「USA」であるはずのコアデータに挿入された最後のレコードを取得したい。

4

2 に答える 2

6

最も簡単な方法は、「c​​reatedDate」または同様の日付フィールドをエンティティに追加することです。次に、クエリを使用するだけです。

[MyEntity MR_findFirstOrderedByAttribute:@"createdDate" ascending:NO];
于 2012-12-11T17:10:42.847 に答える
2

SWIFT 3 追加のクエリ引数を追加する場合:

let predicate = NSPredicate(format: "(attribute1 = %@ && attribute2 = %@ && date <= %@)", argument1, argument2, yourdate as NSDate)
let fetch = YourCCEntity.mr_requestAllSorted(by: "date", ascending: false, with: predicate)
let latestObject = YourCCEntity.mr_executeFetchRequestAndReturnFirstObject(fetch)

これas NSDateは Xcode のバグのため必要です (一部の Swift クラスは NSPredicate 引数で動作しません)。

于 2017-01-13T16:12:13.120 に答える