Core Data を使用して、以前の検索を SearchBar に保存しています。私のエンティティは非常に単純で、プロパティを持っているだけです:
previousSearch (NSString)
ユーザーが検索バーに入力すると、以前の検索でデータベースを検索したいと思います。しかし、私は0の結果を得続けています。
Core Data からデータを取得するコードを次に示します。
- (void)filterContentForSearchText:(NSString *)searchText {
[self.filteredLastSearches removeAllObjects];
NSEntityDescription *search = [NSEntityDescription entityForName:@"Search" inManagedObjectContext:_managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
[fetchRequest setEntity:search];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"previousSearch=[c]%@", searchText];
[fetchRequest setPredicate:predicate];
NSError *error = nil;
NSArray *fetchedObjects = [_managedObjectContext executeFetchRequest:fetchRequest error:&error];
if (error) {
NSLog(@"Error filtering search: %@", [error description]);
}
_filteredLastSearches = [NSMutableArray arrayWithArray:fetchedObjects];
}
fetchedObjects は常に空で、その理由はわかりません。データベースには、検索中に表示しようとしたいくつかの値を持つ ZPREVIOUSSEARCH が実際にあることがわかりますが、常に空です。足りないものはありますか?前もって感謝します。