如何使用 Objective C 从 iOS 中的核心数据中过滤数据
How to filter data from Core Data in iOS Using Objective C
我有一个名为 Student 的实体,它具有以下结构:
我正在从 CoreData 获取数据:
NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"Student"];
self.arrStudents = [[managedObjectContext executeFetchRequest:fetchRequest error:nil] mutableCopy];
现在我只想要 rollNum = 1001
.
的学生
我该怎么做?
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)
您应该使用 NSPredicate
来过滤您的结果:
fetchRequest.predicate = [NSPredicate predicateWithFormat:@"rollNum == %d", 1001];
我有一个名为 Student 的实体,它具有以下结构:
我正在从 CoreData 获取数据:
NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"Student"];
self.arrStudents = [[managedObjectContext executeFetchRequest:fetchRequest error:nil] mutableCopy];
现在我只想要 rollNum = 1001
.
我该怎么做?
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)
您应该使用 NSPredicate
来过滤您的结果:
fetchRequest.predicate = [NSPredicate predicateWithFormat:@"rollNum == %d", 1001];