How To Search Full Core Data Database
我有一个搜索功能,我想搜索我的整个核心数据数据库。
我有 4 个实体,它们都是 NSManagedObject
的子类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | - (void) loadDatabase { NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"MedicalCode" inManagedObjectContext:managedObjectContext]; NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease]; [request setEntity:entityDescription]; NSError *error = nil; NSArray *array = [managedObjectContext executeFetchRequest:request error:&error]; } - (void) searchTableView { NSString *searchText = searchBar.text; NSMutableArray *searchArray = [[NSMutableArray alloc] init]; for (NSDictionary *dictionary in myArray) { NSString *value = [dictionary valueForKey:@"name"]; [searchArray addObject:value]; } for (NSString *sTemp in searchArray) { NSRange titleResultsRange = [sTemp rangeOfString:searchText options:NSCaseInsensitiveSearch]; if (titleResultsRange.length > 0) [copyListOfItems addObject:sTemp]; } [searchArray release]; searchArray = nil; } |
这里的问题是,我认为我不会将实际对象本身添加到副本列表中,而是我只会添加名称属性。此外,它在 iPhone 上是滞后的。有什么建议吗?
编辑:
或者有没有办法将它与 NSFetchedResultsController 联系起来并走这条路?
你需要在你的 NSFetchRequest 中添加一个 NSPredicate。