reloadData, кажется, работает, но не показывает ни одной ячейки при асинхронном поиске в tableView - PullRequest
1 голос
/ 14 февраля 2012

Я застрял на этом весь день.

  1. У меня есть Nib-файл с пользовательской ячейкой таблицы, который я использую для загрузки в переменную экземпляра tableView контроллера представления.

  2. Inконтроллер представления У меня есть панель поиска и IBOutlets табличного представления и NSMutableArray для хранения моих данных в качестве переменных экземпляра, среди прочего.

  3. У меня есть объект, который выполняет асинхронные вызовывнешний API, использующий Restkit, поэтому я определяю свой контроллер представления как его делегат для получения данных, когда запрос завершен, сохраните их в NSMutableArray и затем вызовите reloadData.

Поскольку яделая асинхронные вызовы, метод shouldReloadTableForSearchString отвечает за отправку запроса и затем возвращает NO.

Если я возвращаю YES вместо NO, после чего выполняется вызов reloadData, мои ячейки загружаются в tableView на шаг назад отмои звонки, это означает, что если я наберу первую букву, ничего не произойдет, но на второй букве я получу результаты изПервое письмоЭто нормально, потому что переменная экземпляра устанавливается после shouldReloadTableForSearchString, возвращающего YES.Это ожидаемое, хорошо.

Проблема, с которой я сталкиваюсь, заключается в том, что если я использую только reloadData, когда shouldReloadTableForSearchString возвращает NO, ячейки не присваиваются tableView.Я проверил, и вызывается cellForRowAtIndexPath, и каждая ячейка создается с данными, но они не отображаются.

Возможно, у меня проблемы со свойством источника данных, но я не уверен.

Iне понимаю разницыЕсть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...