获取核心数据上实体中的第一个条目

Mic*_*Lau 4 xcode entity core-data

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

我问的原因是因为我将设置文件放置到核心数据上,而不是创建一个单独的文件来保存值。因为每当应用程序更新时,单独的文件就会被删除,核心数据也会被迁移。如果我将用户的设置放入文件中,则更新应用程序时不会保留该设置。保留核心数据(给予或取消一些限制)。

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

Mun*_*ndi 6

恐怕你得走走过场去取。fetchLimit您可以通过设置to使其非常高效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
}
Run Code Online (Sandbox Code Playgroud)

或者

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
}
Run Code Online (Sandbox Code Playgroud)