我有一个搜索功能,我想搜索整个核心数据库。
我有4个实体,所有这些实体都是NSManagedObject MedicalCode
的子类。
- (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;
}
这里的问题是,我认为我不会将实际对象本身添加到副本列表中,而是仅添加name属性。此外,它落后于iPhone。有什么建议吗?
编辑:
或者有没有办法将它与NSFetchedResultsController联系起来并走那条路?
答案 0 :(得分:1)
您需要在NSFetchRequest中添加NSPredicate。