Как создать индексные пути для всех строк и всех разделов для uitableview?

У меня есть таблица с n разделами. Каждый раздел содержит одну строку. Как создать индексный путь для таблицы? Существует метод, который позволяет создавать индексный путь для всех видимых строк [self.tableView indexPathsForVisibleRows] Мне нужно что-то подобное, например indexPathsForAllRows

Мне нужно все это, чтобы обновлять только данные в таблице, потому что метод [self.tableView reloadData]; обновляет всю таблицу с верхними и нижними колонтитулами. Вот почему я должен использовать reloadRowsAtIndexPaths

3 Solutions collect form web for “Как создать индексные пути для всех строк и всех разделов для uitableview?”

Вам не нужно перезагружать все строки. Вам нужно только перезагрузить видимые ячейки (поэтому существует indexPathsForVisibleRows ).

Ячейки, которые находятся вне экрана, получат свои новые данные в cellForRowAtIndexPath: только они станут видимыми.

Вот решение в Swift 3

 func getAllIndexPaths() -> [IndexPath] { var indexPaths: [IndexPath] = [] // Assuming that tableView is your self.tableView defined somewhere for i in 0..<tableView.numberOfSections { for j in 0..<tableView.numberOfRows(inSection: i) { indexPaths.append(IndexPath(row: j, section: i)) } } return indexPaths } 

Я сделал расширение UITableView основанное на ответе @Vakas. Также разделы и строки должны быть проверены на > 0 чтобы предотвратить сбои для пустых UITableView s:

 extension UITableView{ func getAllIndexes() -> [NSIndexPath] { var indices = [NSIndexPath]() let sections = self.numberOfSections if sections > 0{ for s in 0...sections - 1 { let rows = self.numberOfRowsInSection(s) if rows > 0{ for r in 0...rows - 1{ let index = NSIndexPath(forRow: r, inSection: s) indices.append(index) } } } } return indices } } 
  • iOS - UITableViewCell делает текст полужирным шрифтом
  • Несоответствие в передаче данных между классами
  • «Невозможно загрузить приложение. <Имя приложения> не может быть установлено в это время "
  • Ошибка ссылки Xcode 4.2: проблема libz?
  • Идентификатор приложения с идентификатором недоступен | xCode 7.3 | Не удалось найти подходящие активы подписи
  • Adobe AIR ограничена Xcode 5?
  • Просмотр карты Google, как я могу получить исходную точку или рамку для аннотации при масштабировании карты?
  • Установите приложение для iPhone для тестирования без App Store
  • IOS: AVAudioPlayer останавливается и играет
  • Как я могу уловить все исключения в приложении iPhone?
  • ctime на устройстве iOS не правильно измеряет время
  • Interesting Posts

    Как обновить UIWebView, когда приложение выходит на передний план?

    Удалить подуровень изображения из TableViewCell

    Могу ли я создавать приложения RubyMotion с помощью Interface Builder?

    XCode 7.1.1. Просмотр содержимого TableViewCell уже, чем ячейка

    Организатору XCode не удалось отобразить правильное отображаемое имя пакета

    Как получить NSData mp3 с помощью MPMediaPickerController?

    Нарисуйте круг радиусом 1000 м вокруг местоположения пользователей в MKMapView

    Как выполнить запрос токена доступа в интеграции Fitbit API – iOS?

    Идентификация Game Center не работает в iOS 8

    Группа приложений с идентификатором … недоступна. Введите другую строку

    IOS Self Sizing UITableViewCell с автоматической компоновкой не работает в первый раз

    Локализация пользовательского набора классов в раскадровке не работает

    Внедрить Ad-hoc в Xcode 6 без входа в аккаунт разработчика

    как я могу различить, какая часть UITableViewCell была нажата

    Как изменить цвет слова в UITextView?

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.