如何在 Swift 3 中访问 NSFetchRequest 结果?

Ram*_*uri 2 core-data swift3

假设我想从 Core Data 中获取一些 NSManagedObject 并枚举所有结果:

let request = NSFetchRequest<NSFetchRequestResult>()
let entityDesc = NSEntityDescription.entity(forEntityName: "Chapter", in: context)
request.entity = entityDesc
do
{
    let result = try context.execute(request)
}
catch
{
    print("\(error)")
}
Run Code Online (Sandbox Code Playgroud)

现在我有一个 NSPercientStoreResult 对象作为查询结果,但我不知道如何处理它。类文档是空的:

在此输入图像描述

我应该如何检索获取请求返回的托管对象?

Emp*_*ess 5

你使用fetch的方法是NSManagedObjectContext

首先创建获取请求,可以是通用的也可以是特定的:

let fetchRequest : NSFetchRequest<YourObject> = YourObject.fetchRequest

let fetchRequest : NSFetchRequest<NSFetchRequestResult> = YourObject.fetchRequest
Run Code Online (Sandbox Code Playgroud)

然后获取它:

let results = context.fetch(fetchRequest)
Run Code Online (Sandbox Code Playgroud)