Maxime
Maxime

Reputation: 1392

How to use a Fetch request from xcdatamodeld?

I'm noob with Core Data and I can't find the help I need on the Apple developer website.

I defined a fetch request in my .xcdatamodeld file but now I can't find how to use it? This is the definition of the fetch request : enter image description here

I supose that the fetch request starts with :

let fetch = NSFetchRequest<NSFetchRequestResult>(entityName: "Category")

But I don't know how to use a fetch request by name. (The project is written in Swift 3)

Upvotes: 10

Views: 2801

Answers (2)

Georgil K Jeemon
Georgil K Jeemon

Reputation: 1

If you had created an entity Users and inside it, you have created username and password. The fetch request for this will be the below code:

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)

Upvotes: -2

The Cappy
The Cappy

Reputation: 623

Bharath's answer is for how to create and execute a fetch request in code. This is commonly how you'll do it. However, it's not actually the answer to your question. If you actually create a fetch request named "allCategories" in the core data model like that, this is how you use it:

let fetchRequest = self.managedObjectModel.fetchRequestTemplate(forName: "allCategories")

let fetchedObjects = self.managedObjectContext.execute(fetchRequest!)

Upvotes: 18

Related Questions