Я застрял на этом весь день.
У меня есть Nib-файл с пользовательской ячейкой таблицы, который я использую для загрузки в переменную экземпляра tableView контроллера представления.
Inконтроллер представления У меня есть панель поиска и IBOutlets табличного представления и NSMutableArray для хранения моих данных в качестве переменных экземпляра, среди прочего.
У меня есть объект, который выполняет асинхронные вызовывнешний API, использующий Restkit, поэтому я определяю свой контроллер представления как его делегат для получения данных, когда запрос завершен, сохраните их в NSMutableArray и затем вызовите reloadData.
Поскольку яделая асинхронные вызовы, метод shouldReloadTableForSearchString отвечает за отправку запроса и затем возвращает NO.
Если я возвращаю YES вместо NO, после чего выполняется вызов reloadData, мои ячейки загружаются в tableView на шаг назад отмои звонки, это означает, что если я наберу первую букву, ничего не произойдет, но на второй букве я получу результаты изПервое письмоЭто нормально, потому что переменная экземпляра устанавливается после shouldReloadTableForSearchString, возвращающего YES.Это ожидаемое, хорошо.
Проблема, с которой я сталкиваюсь, заключается в том, что если я использую только reloadData, когда shouldReloadTableForSearchString возвращает NO, ячейки не присваиваются tableView.Я проверил, и вызывается cellForRowAtIndexPath, и каждая ячейка создается с данными, но они не отображаются.
Возможно, у меня проблемы со свойством источника данных, но я не уверен.
Iне понимаю разницыЕсть идеи?