如何使用魔法记录获取记录时获得“最新记录”

时间:2012-12-11 13:31:28

标签: ios core-data magicalrecord

获取记录时如何获取最新记录?

例如:

  • 第一次迭代我用对象名称Country保存“Singapore”,
  • 第二次迭代我保存“USA”,对象名为Country,second

现在我拿到它

SomeDatabase *Country = [SomeDatabase MR_findFirst];

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

我得到“新加坡”,

我想把最后一条记录插入到coredata,这应该是“USA”。

2 个答案:

答案 0 :(得分:6)

最直接的方法是向您的实体添加“createdDate”或类似的日期字段。然后你可以简单地使用查询:

[MyEntity MR_findFirstOrderedByAttribute:@"createdDate" ascending:NO];

答案 1 :(得分: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)

{1}}是必要的,因为Xcode错误(有些Swift类不能使用NSPredicate参数)