Как я могу получить количество строк из UITableView - PullRequest
10 голосов
/ 03 декабря 2009

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

Если в нем нет строк, я бы хотел, чтобы фоновое изображение предложило пользователю добавить контент. Если в нем 1 или более строк, я бы хотел, чтобы у него было другое фоновое изображение для отображения содержимого.

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

Есть идеи?

Ответы [ 4 ]

28 голосов
/ 27 апреля 2012

Ну, как правило, это очень легко сделать, так как вам нужно только правильно делегировать UITableView вашему ViewController с соответствующими методами делегирования, включенными в ваш файл .m.

Тогда вы можете где угодно получить количество строк, например:

[tablePropertyName numberOfRowsInSection:SECTION_NUMBER];

, где номер раздела равен 0 для первого раздела, 1 для второго и т. Д.

5 голосов
/ 03 декабря 2009

Я согласен с ответом Сикстена Отто.

[myFetchedResultsController.fetchedObjects count];

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

[[myFetchedResultsController.sections objectAtIndex:<section>] numberOfObjects];

Вы можете получить объекты для раздела следующим образом.

[[myFetchedResultsController.sections objectAtIndex:<section>] objects];

** Вы должны заменить на число, представляющее раздел.

Надеюсь, это поможет.

1 голос
/ 28 сентября 2017

В Swift вы можете получить количество строк UITableView на

yourTableViewName.numberOfRows(inSection: Int)

пример:

yourTableViewName.numberOfRows(inSection: 0) // returns rows count in section 0   
1 голос
/ 03 декабря 2009

Я бы рекомендовал взглянуть на документацию по NSFetchedResultsController . В нем есть пример кода для реализации методов UITableViewDataSource (включая те, которые говорят, сколько разделов у таблицы и сколько строк в каждом разделе), а также документирование свойства fetchedObjects , которое вы можно использовать, чтобы узнать, сколько необработанных результатов вы получили.

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