UITableView numberOfRowsInSection вызывается несколько раз - PullRequest
7 голосов
/ 08 марта 2011

Сколько раз должен вызываться метод tableView:numberOfRowsInSection при заполнении табличного представления?

У меня происходит сбой приложения без предупреждений, ошибок или трассировки стека.Я также проверил на утечки памяти и не нашел ни одного.Приложение устойчиво держится на уровне около 1,4 МБ.

У меня есть отчеты NSLog, поскольку методы обмениваются сообщениями, и я заметил, что tableView:numberOfRowsInSection вызывается несколько раз.Приложение вылетает во время одного из этих «дополнительных» звонков.Точка, в которой происходит сбой приложения, варьируется.Я должен отметить, что таблица заполняет около 600 ячеек, если это имеет значение.

Я могу опубликовать код, если хотите, но мой источник данных взят из singleton class, так чтокод.Любая помощь будет принята с благодарностью.

Ответы [ 3 ]

1 голос
/ 08 марта 2011

Смотрите мой ответ в другом похожем вопросе: ссылка
По сути, вызовы методов делегата табличного представления могут инициироваться различными событиями. Не удивительно, что UITableView вызывает numberOfRowsInSection несколько раз (даже для одного и того же раздела).

0 голосов
/ 08 апреля 2013

Я столкнулся с той же проблемой: первый экземпляр tableview не равен nil, а в последующие - nil.Проблема была в том, что я еще не установил возвращаемое значение для - (CGFloat) tableView: (UITableView *) tableView heightForRowAtIndexPath: (NSIndexPath *) indexPath, и из-за этого это продолжалось.Как только я установил возвращаемое значение, проблема исчезла.Надеюсь, это кому-нибудь поможет.

0 голосов
/ 08 марта 2011

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

попробуйте использовать предоставленный мной код.* Другой ответ на stackoverflow может помочь вам.

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