У меня есть 4 базы данных CoreData. Каждый на самом деле имеет свою ценность. Но это слишком тяжело, и я хотел бы уменьшить его до 1 базы данных. Поэтому каждый раз, когда я хочу получить информацию из базы данных, я могу выбрать, что извлечь. Мне нужно использовать NSPredicate, чтобы установить строку, которую я хочу вытащить иззит?
Могу ли я установить свой NSPredicate следующим образом?
NSString *value = @"Food";
NSString *wildcardedString = [NSString stringWithFormat:@"%@*", value];
[[NSPredicate predicateWithFormat:@"ANY places.type like %@", wildcardedString];
и как мне связать NSPredicate с последовательностью запроса выборки?
это мой загруженныйРезультатыКонтроллер
- (NSFetchedResultsController *)fetchedResultsController {
if (fetchedResultsController != nil)
{
return fetchedResultsController;
}
CoreDataMelakaAppDelegate *appDelegate = (CoreDataMelakaAppDelegate *)[[UIApplication sharedApplication] delegate];
NSManagedObjectContext *context = [appDelegate managedObjectContext];
NSFetchRequest *fetchRequest = [[[NSFetchRequest alloc] init] autorelease];
[fetchRequest setEntity:[NSEntityDescription entityForName:@"WhereTo" inManagedObjectContext:context]];
NSSortDescriptor *sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES] autorelease];
NSArray *sortDescriptors = [[[NSArray alloc] initWithObjects:sortDescriptor, nil] autorelease];
[fetchRequest setSortDescriptors:sortDescriptors];
// NSPredicate *pred = [NSPredicate predicateWithFormat:@"(name = %@)", wher.name];
//[fetchRequest setPredicate:pred];
NSString *value = @"Nasi";
NSString *wildcardedString = [NSString stringWithFormat:@"%@*", value];
[[NSPredicate predicateWithFormat:@"ANY wher.name like %@", wildcardedString];
NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:context sectionNameKeyPath:nil cacheName:@"Root"];
aFetchedResultsController.delegate = self;
self.fetchedResultsController = aFetchedResultsController;
[aFetchedResultsController release];
return fetchedResultsController;
}