У меня есть контроллер массива, и я привязал к нему сущность, сортирую дескриптор и предикат. Если я изменяю формат предиката при запуске приложения, он работает, поэтому привязка работает.Обновление предиката на arraycontroller
Моя проблема в том, когда я хочу изменить предикат, f.ex. с поисковым термином или некоторой строкой, которую вводит пользователь, ничего не происходит, но когда я добавляю запись в базовую базу данных данных, табличное представление обновляется.
Итак, мой вопрос: как сообщить контроллеру массива, что предикат изменился, и он должен обновить себя. Вот код, который запускается, когда я вхожу в поисковый запрос, он также работает, и я получаю все выходные данные NSLogs правильно. Просто мой планшет не обновляет себя.
- (IBAction)didChangeSearch:(id)sender {
if (sender == searchField) {
NSString *searchterm = [sender stringValue];
if (searchterm.length > 1) {
predicate = [NSPredicate predicateWithFormat:@"name contains [c]%@", @"m"];
NSLog(@"Putting predicate to the job : %@", searchterm);
} else {
predicate = nil;
NSLog(@"There is nolonger any predicate");
}
}
NSLog(@"I just got %@", [sender stringValue]);
}
Я хотел бы сказать в начале, что я очень новичок в переплетах, никогда не использовали их, пока сегодня, не получили хорошее чувство для них, и это понравилось, экономит мне столько кода и я наконец-то понял он (до 1 дня может).
Итак, предикат связан с привязкой предиката фильтра контроллера массива в IB? – rdelmar