如何使用来自 xcdatamodeld 的 Fetch 请求?
How to use a Fetch request from xcdatamodeld?
我是 Core Data 的新手,在 Apple 开发者网站上找不到我需要的帮助。
我在 .xcdatamodeld
文件中定义了一个获取请求,但现在找不到如何使用它?
这是获取请求的定义:
我假设获取请求以 :
开头
let fetch = NSFetchRequest<NSFetchRequestResult>(entityName: "Category")
但我不知道如何使用名称提取请求。
(项目写在Swift3)
Bharath 的回答是关于如何在代码中创建和执行提取请求。这通常是您将如何做的。但是,这实际上并不是您问题的答案。如果你真的像那样在核心数据模型中创建了一个名为 "allCategories" 的获取请求,那么你就是这样使用它的:
let fetchRequest = self.managedObjectModel.fetchRequestTemplate(forName: "allCategories")
let fetchedObjects = self.managedObjectContext.execute(fetchRequest!)
如果您创建了一个实体用户并在其中创建了用户名和密码。为此的获取请求将是以下代码:
let appDel:AppDelegate = (UIApplication.sharedApplication().delegate as! AppDelegate)
let context:NSManagedObjectContext = appDel.managedObjectContext
let request = NSFetchRequest(entityName: "Users")
request.returnsObjectsAsFaults = false
request.predicate = NSPredicate(format: "username = %@ AND password = %@", username1.text!, password1.text!)
let results:NSArray = try! context.executeFetchRequest(request)
我是 Core Data 的新手,在 Apple 开发者网站上找不到我需要的帮助。
我在 .xcdatamodeld
文件中定义了一个获取请求,但现在找不到如何使用它?
这是获取请求的定义:
我假设获取请求以 :
开头let fetch = NSFetchRequest<NSFetchRequestResult>(entityName: "Category")
但我不知道如何使用名称提取请求。 (项目写在Swift3)
Bharath 的回答是关于如何在代码中创建和执行提取请求。这通常是您将如何做的。但是,这实际上并不是您问题的答案。如果你真的像那样在核心数据模型中创建了一个名为 "allCategories" 的获取请求,那么你就是这样使用它的:
let fetchRequest = self.managedObjectModel.fetchRequestTemplate(forName: "allCategories")
let fetchedObjects = self.managedObjectContext.execute(fetchRequest!)
如果您创建了一个实体用户并在其中创建了用户名和密码。为此的获取请求将是以下代码:
let appDel:AppDelegate = (UIApplication.sharedApplication().delegate as! AppDelegate)
let context:NSManagedObjectContext = appDel.managedObjectContext
let request = NSFetchRequest(entityName: "Users")
request.returnsObjectsAsFaults = false
request.predicate = NSPredicate(format: "username = %@ AND password = %@", username1.text!, password1.text!)
let results:NSArray = try! context.executeFetchRequest(request)