У меня есть табличное представление с панелью поиска. Я был в состоянии использовать NSPredicate искать TableView, когда я добавить элементы в другой массив:NSPredicate to Search Collection
for(head in items){
[desc addObject:head.DESC];
[category addObject:head.CATEGORY];
}
- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope
{
NSPredicate *resultPredicate = [NSPredicate predicateWithFormat:@"self CONTAINS[cd] %@", searchText];
searchResults = [desc filteredArrayUsingPredicate:resultPredicate];
}
Теперь я хочу, чтобы сохранить коллекцию вместе с тем, что Tableview didSelectRowAtIndexPath будет иметь возможность использовать объект категории.
загружаю мой вид таблицы, как это:
for (int i = 0; i < [items count]; i++){
head = [items objectAtIndex:indexPath.row];
labelName.text = head.DESC;
Как я могу получить мой NSPredicate искать коллекцию для head.DESC?
#pragma mark Search Results
- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope
{
NSPredicate *resultPredicate = [NSPredicate predicateWithFormat:@"self CONTAINS[cd] %@", searchText];
searchResults = [items filteredArrayUsingPredicate:resultPredicate];
}
В настоящее время я получаю это исключение при запуске вышеуказанного кода.
reason: 'Can't use in/contains operator with collection <Order: 0x7b22e900> (not a collection)'
Прости меня, я не имею большого понимания блоков. Этот элемент управления достигает конца не-void блока. Что мне нужно вернуть? – iDev
Ha! Упс! В начале этой строки должно быть возвращено. Это моя ошибка. –
Хорошо, это не сбой. Результаты поиска пустые. Есть ли способ без блоков? – iDev