Добавить ячейку в таблицу UISearchDisplayController
У меня есть табличное представление с searchDisplayController. Когда я ищу какой-то текст, я успешно отображаю результаты на экране. Моя проблема возникает, когда я хочу добавить ячейку к существующим результатам. Добавление ячейки должно быть сделано, когда searchDisplayController активен.
То есть:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSMutableDictionary * dict ;
BOOL isSearchView = tableView == self.searchDisplayController.searchResultsTableView;
if (isSearchView) {
dict = [searchTasks objectAtIndex:indexPath.row];
[self.searchDisplayController.searchResultsTableView deselectRowAtIndexPath:indexPath
animated:YES];
}
else{
dict = [self.tasks objectAtIndex:indexPath.row];
[self.tableView deselectRowAtIndexPath:indexPath animated:YES];
}
Task * task = [self getsomeTask];
NSIndexPath * ip = [NSIndexPath indexPathForRow:indexPath.row+1
inSection:indexPath.section];
if (isSearchView) {
[searchTasks insertObject:task atIndex:ip.row];
[self.searchDisplayController.searchResultsTableView
insertRowsAtIndexPaths:@[ip]
withRowAnimation:UITableViewRowAnimationRight];
}
после того, как это выполнено, и после последней строки insertRowsAtIndexPaths:@[ip]
,
код выполняет:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (self.searchDisplayController.isActive) {
return [searchTasks count];
} else {
return [tasks count];
}
}
Что хорошо, и здесь он выбирает первый вариант, который верен в соответствии с логикой программы. Но это потерпело крах и после этого выполнения это никогда не вызывает
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
функция делегата UITableview.
И дает мне ошибку:
*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 1 beyond bounds [0 .. 0]'
Я не могу понять причину, по которой он не вызывает функцию cellForRowAtIndexPath после функции rowcount.
Какие-либо предложения?