numberOfRowsInSection вызвало слишком много времени после reloadData

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

Очень странно, когда [self.tvChoices reloadData]; был вызван, я получил

 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ 

Вызывается для КАЖДОГО раздела (1300), а не только для видимых.

Есть идеи?

(возможно, мне нужно просто очистить табличное представление перед reloadData, но мне любопытно, почему это поведение

 -(IBAction)multipleTap:(UIGestureRecognizer *)sender { NSLog(@"--[%s:%d]",__PRETTY_FUNCTION__,__LINE__); NSNumber *value=self.mybooleans[sender.view.tag]; [self reset_Sections_BooleansTo:@(!value.boolValue)]; [self.tvChoices reloadData]; <-- } 

,

 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ 

– называется даже для не видимого раздела

One Solution collect form web for “numberOfRowsInSection вызвало слишком много времени после reloadData”

Такое поведение имеет смысл, поскольку в представлении таблицы необходимо оценить, насколько велика индикация прокрутки. Для этого нужно знать, сколько общих строк есть в представлении таблицы, поэтому необходимо задать количество строк в каждом разделе.

Если это не серьезный удар по производительности для вашего приложения, просто не беспокойтесь об этом. Беспокойство о том, как много раз вызывается метод и пытается его уменьшить, без значительного увеличения производительности, является серьезной преждевременной оптимизацией и редко стоит того, что нужно для работы и ошибок.

Если это показатель производительности, как отметили некоторые комментаторы, вы можете посмотреть - reloadRowsAtIndexPaths:withRowAnimation: или - reloadSections:withRowAnimation: только перезагрузить строки / разделы, которые нуждаются в обновлении.

  • Ориентация устройства в Cocos2d-iOS
  • Как установить версию версии интерфейса Builder по умолчанию на 4.2?
  • Невозможно заполнить TableView в PopOverController - Objective C
  • Невозможно подключить IBOutlets к раскадровки
  • Приложение Meteor работает на iOS-симуляторе, но не на физическом устройстве (iPhone) на Xcode
  • Как показать полосу прокрутки всегда в UICollectionView
  • Xcode: Как создать многоязычное приложение iOS с языковыми настройками в приложении (НЕ используя локализацию)
  • Что делает фаза сборки «Fabric.framework / run» на самом деле?
  • Xcode Bot Stuck Building Sources при интеграции
  • Xcode - учетная запись уже имеет действительный сертификат распространения iOS
  • ipatool не удается построить с помощью битового кода (xcode 7.1.1)
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.