NSFetchedResultsController
데이터를 필터링하는 가장 좋은 방법은 무엇입니까? 검색 막대의 텍스트가 변경 될 때마다 다시 초기화해야합니까?NSFetchedResultsController with
나는 UISearchDisplayControllers
를 사용하고 그리고 난 구현 해요 :
- (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString;
들으을.
- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope
{
self.savedSearchTerm = searchText;
freshData = NO;
if (searchText !=nil)
{
NSPredicate *predicate =[NSPredicate predicateWithFormat:@"name contains[cd] %@", searchText];
[fetchedResultsController.fetchRequest setPredicate:predicate];
}
else
{
NSPredicate *predicate =[NSPredicate predicateWithFormat:@"All"];
[fetchedResultsController.fetchRequest setPredicate:predicate];
}
NSError *error = nil;
if (![[self fetchedResultsController] performFetch:&error]) {
// Handle error
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
exit(-1); // Fail
}
[self.tableView reloadData];
// [searchBar resignFirstResponder];
// [_shadeView setAlpha:0.0f];
}
테이블보기에서 '필터링 된 목록'을 표시할지 여부를 알 수 있도록 테이블보기 데이터 원본 메서드를 어떻게 처리 했습니까? – CraigH
여기에 대한 답변은 매우 도움이됩니다. http://stackoverflow.com/questions/4471289/how-to-filter-nsfetchedresultscontroller-coredata-with-uisearchdisplaycontrol/4481896#4481896 – acecapades
내가 한 행동은 다음과 같습니다. http : // stackoverflow .com/questions/4471289/how-to-filter-nsfetchedresults 컨트롤러 - 코어 데이터 - 사용자 검색 표시 제어/4856118 # 4856118 –