我有两个数组:
NSMutableArray *moviesArray;
NSMutableArray *directorsArray;
moviesArray = [@"movie01",@"movie02",@"movie03",@"movie04"];
directorsArray = [@"director01",@"director02",@"director03",@"director04"];
我在表格视图中显示此内容。每个单元都有一个标题标签和一个导演标签。
cell.titleLabel.text = [moviesArray objectAtIndex:indexPath.row];
cell.directorLabel.text = [directorsarray objectatIndex:indexPath.row];
我正在使用搜索栏搜索电影标题,所以我这样做:
//Search Filter Code
- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope {
NSPredicate *resultPredicate = [NSPredicate predicateWithFormat:@"SELF contains[c] %@", searchText];
searchResults = [moviesArray filteredArrayUsingPredicate:resultPredicate];
NSLog(@"Search Results: %@", searchResults);
}
-(BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString {
[self filterContentForSearchText:searchString
scope:[[self.searchDisplayController.searchBar scopeButtonTitles]
objectAtIndex:[self.searchDisplayController.searchBar
selectedScopeButtonIndex]]];
return YES;
}
然后在我的单元格中:
if (tableView == self.searchDisplayController.searchResultsTableView) {
cell.pdmTitle.text = [searchResults objectAtIndex:indexPath.row];
[...] }
所有这些工作。我的问题是,每部电影在DirectorsArray中都有一个对应的Director。
如何在我的单元格中显示匹配的导演?
意思是,如果我搜索电影03,titleLabel.text应该是movie03,directorLabel.text应该是Director03。
非常感谢您的帮助!
最佳答案
NSString *correspondingDirector = [directorsArray objectAtIndex: [moviesArray indexOfObject:@"Movie you are searching"]];