У меня есть контроллер массива, и я привязал к нему объект, дескриптор сортировки и предикат. Если я изменяю формат предиката при запуске приложения, оно работает, поэтому привязка работает.
Моя проблема в том, что я хочу изменить предикат, например. с условием поиска или какой-либо строкой, которую вводит пользователь, ничего не происходит, но когда я добавляю запись в основную базу данных данных, табличное представление обновляется.
Итак, мой вопрос: как мне сообщить контроллеру массива, что предикат изменился, и он должен обновить себя. Вот код, который запускается, когда я ввожу поисковый запрос, он также работает, и я правильно получаю все выходные данные 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 день может).