获取Core Data上实体的第一个条目

时间:2014-10-25 09:55:06

标签: xcode core-data entity

我想知道如何在不使用fetch的情况下从核心数据中的实体获取第一个项目?

我问的原因是因为我将设置文件放在核心数据上,而不是创建一个单独的文件来保存值。因为当应用程序更新时,单独的文件会被炸毁并且核心数据会被迁移。如果我将用户的设置放在文件上,则在更新应用程序时不会保留该设置。保留核心数据(给予或采取一些箍)。

我知道如何获取但是有没有其他方法(更简单的方法)才能获得核心数据实体的第一个条目?

1 个答案:

答案 0 :(得分:2)

我担心你必须经历抓取的动作。您可以将fetchLimit设置为1,从而提高效率。使用可用的便捷方法,它在Swift和Objective-C中都非常短。

var request = NSFetchRequest(entityName:"Event")
request.fetchLimit = 1
let result = context.executeFetchRequest(request, error:nil) as [Event]
if countElements(result) == 1 {
   let event = result.first! as Event
   // do something with event
}

NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Event"];
request.fetchLimit = 1;
NSArray *result = [context executeFetchRequest:request error:nil];
if (result.count) {
    Event *event = result.firstObject;
    // do something with event
}