Что должно возвращать cellForRowAtIndexPath, если таблица пуста?

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

Я думаю, если таблица пуста, а именно

 -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return [[BNUtilitiesQuick getBizs] count]; } 

всегда возвращать 0

Я бы ожидал, что -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath не следует вызывать вообще

Это важно. Я делаю программу для поиска вещей, а иногда после некоторых поисков результат не возвращается.

Однако, так или иначе, я получил исключение. Что мне делать?

-tableview:cellForRowAtIndexPath: может быть вызван до того, как представление таблицы реализовало, что оно имеет нулевые строки и поэтому не должно вызываться.

Поэтому ваша реализация должна проверить, что значение передаваемой строки не выходит за пределы вашего массива. Если это так, вам нужно вернуть пустую ячейку (в заявлении о документации, возвращающем nil , возникает исключение).

Просто нет способа, которым tableView:cellForRowAtIndexPath: , когда метод tableView:numberOfRowsInSection: возвращает 0 . Вероятно, что счетчик возвращается неверно.

Часто у вас будет гигантский оператор switch в cellForRow … Это означает, что вы должны иметь значение для возврата в случае по умолчанию. Обычно я возвращаю нуль.

Компилятор должен не показывать предупреждение, но его никогда не следует называть. Этот метод вызывается только для индексов строк, которые возможны из-за того, что вы повторно возвращаете в методах numberOfSections и numberOdRowsInSection.

Сначала напечатайте [[BNUtilitiesQuick getBizs] count]; в NSLog и посмотреть, действительно ли он возвращает 0.

Если он показывает 0, и если cellForRowAtIndexPath: все еще cellForRowAtIndexPath: , я подозреваю, что там есть какой-то призрак. 🙂

Как насчет возврата 1 как счетчика (или, например, 10), и что в одной ячейке будет отображаться тусклый текст с «Нет результатов»?

(откройте приложение для контактов и найдите что-нибудь .. у него будет около 10 строк, 9 пустых и 1 отобразит «нет результатов»)

  • Parse / PFQueryTableView: добавление дополнительного текста к объекту в синтаксическом анализе
  • Проблема с iOS Face Up Orientation
  • Как использовать несколько отдельных ярлыков с Core Plot?
  • Как читать XML-файл, используя fstream в IOS
  • Как добавить анимацию Popover на UIView в iPhone
  • Как сделать прокрутку прокрутки, когда изображение перемещено к краю прокрутки
  • Загрузка матча игрового центра с помощью настраиваемого контроллера просмотра
  • nib-файл не открывается в Xcode 4
  • Предварительный просмотр NavController
  • Воспроизведение видео YouTube в UIWebView в альбомной ориентации, а ViewController - в ориентации на портрет
  • Как представить (no nib) ViewController
  • Interesting Posts

    Как отключить масштабирование в мобильном режиме?

    Как проверить, введено ли поле UIText с данными или нет?

    Ошибка Xcode 8 Swift 3 при запуске

    Как остановить прокрутку / перетаскивание за пределы моего UITableView?

    Могу ли я проверить приложение iPad на чужом iPad?

    SKSpriteNode скрыт под фоновым изображением пользовательского интерфейса

    Получить уведомление, когда мое устройство автоматически заблокировано

    iOS. Невозможно глубоко подключиться к официальному клиенту Facebook («Запрошенная вами страница не найдена»)

    файлы отправляются через Bluetooth или Wi-Fi в iOS

    Styling UILabel с использованием прокси-сервера UIAppearance

    Как добиться этого эффекта, как видно в приложении Hotel Tonight

    iOS с помощью VM tracker. Грязная и резидентная память вызывает предупреждения о памяти, что мне делать?

    Проблемы с подключением к раскадровке

    Копирование данных из одного объекта в другой объект, в то время как перенос основных данных

    Пустой значок приложения на iPad только для iPhone

    Давайте будем гением компьютера.