Я реализую панель поиска в приложении iphone.У меня есть список работников, каждый из которых имеет атрибуты: firstName, lastName, company.Разделы табличного представления устанавливаются на атрибут компании.
Я установил предикат при поиске:
NSPredicate *predicate =[NSPredicate predicateWithFormat:@"firstName contains[cd] %@", searchBar.text];
и получаю ошибку:
NSFetchedResultsController ERROR: The fetched object at index 3 has an out of order section name 'company2. Objects must be sorted by section name'
когда у меня есть sortDescriptor:
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"lastName" ascending:YES selector:@selector(caseInsensitiveCompare:)];
Я заметил, что когда я изменяю его на
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"firstName"` ascending:YES selector:@selector(caseInsensitiveCompare:)];
, теперь поиск работает без ошибок.Должен ли параметр initWithKey соответствовать имени атрибута в предикате?Я не понимаю.