Пользовательский CellIdentifier имеет значение Null при использовании контроллера отображения поиска

В моей таблице есть пользовательские ячейки, которые я инициализирую из класса UITableViewCell. У меня есть разделы для первых букв записей и есть indexPath, который создается динамически.

Я хотел добавить контроллер отображения поиска в табличное представление. Так я и сделал, создал все методы для фильтрации данных. Я уверен, что мои функции работают хорошо, потому что я вывожу количество массивов на экран для результатов поиска.

Моя проблема в том, что при первой загрузке просмотра данные отображаются на экране. Но когда я нажимаю на поиск и набираю букву, я получаю ошибку 'UITableView dataSource must return a cell from tableView:cellForRowAtIndexPath:'. После того, как я использовал точку останова, я увидел, что после поиска моя пользовательская ячейка равна нулю. Данные существуют, но ячейка не инициализируется.

Вот код, который я использую для инициализации пользовательских ячеек.:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"ObjectCell";

    SpeakerCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    NSDictionary *myObject = [[sections valueForKey:[[[sections allKeys] sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)] objectAtIndex:indexPath.section]] objectAtIndex:indexPath.row];

    cell.label1.text = [myObject objectForKey:@"myValue"];
    return cell;
}

Я считаю, что допустил ошибку, помещая элементы управления в IB. Поэтому я добавил скриншоты объектов:

enter image description here

Инспектор соединений для моего табличного представления

Connections inspector for my table view

Инспектор соединений для моего контроллера отображения поиска

enter image description here

РЕДАКТИРОВАТЬ :Проблема на самом деле решена, я использовал UISearchBar вместо контроллера отображения поиска, но я думаю этот вопрос остается нерешенным. Так что я готов попробовать любые способы заставить его работать.

13
задан kubilay 17 April 2012 в 10:34
поделиться