Reputation: 1233
I have an entity named Student which has the following structure:
I am fetching data from CoreData as :
NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"Student"];
self.arrStudents = [[managedObjectContext executeFetchRequest:fetchRequest error:nil] mutableCopy];
Now I want only those students which have rollNum = 1001
.
How can I do this?
Upvotes: 1
Views: 1998
Reputation: 1270
Try this
**Objective C**
NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"Student"];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"rollNum = %@", @"1001"];
[fetchRequest setPredicate:predicate];
self.arrStudents = [[managedObjectContext executeFetchRequest:fetchRequest error:nil] mutableCopy];
**Swift**
var managedObjectContext: NSManagedObjectContext? = managedObjectContext
var fetchRequest = NSFetchRequest(entityName: "Student")
var predicate = NSPredicate(format: "rollNum = %@", "1001")
fetchRequest.predicate = predicate
arrStudents = try? managedObjectContext?.fetch(fetchRequest)
Upvotes: 3
Reputation: 1993
You should use NSPredicate
to filter your results:
fetchRequest.predicate = [NSPredicate predicateWithFormat:@"rollNum == %d", 1001];
Upvotes: 1