我正在使用NSFetchedResultsController
来存储类型为XMPPUserCoreDataStorageObject
的自定义对象。我需要在fetchedResultsController中搜索displayName
的字段XMPPUserCoreDataStorageObject
与搜索文本之间的匹配项。
我可以通过以下方式访问此字段:
XMPPUserCoreDataStorageObject *user = [[self fetchedResultsController] fetchedObjects] objectAtIndex:i];
然后:
user.displayName;
其中i
是NSFetchedResultsController
中对象的数量。
如何使用格式生成谓词以比较user.displayName;
和searchText
?
我的搜索方法是:
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
if ([searchText length] == 0) {
fetchedResultsController = nil;
}
else {
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"XXX contains[cd] %@", searchText];
[[fetchedResultsController fetchRequest] setPredicate:predicate];
[[fetchedResultsController fetchRequest] setFetchLimit:50];
}
NSError *error;
if (![[self fetchedResultsController] performFetch:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
}
[mainTableView reloadData];
}