Перезагрузите UITableView с другим количеством строк - PullRequest
0 голосов
/ 27 апреля 2011

У меня настроен и работает UITableView, и теперь у меня есть небольшая проблема.Мне нужно перезагружать данные tableView всякий раз, когда загружается представление, и одна вещь, которую я не могу заставить работать, это попытка перезагрузить данные, когда в табличном представлении не было данных для начала.

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

Ответы [ 3 ]

2 голосов
/ 27 апреля 2011

[tableView reloadData] полностью зависит от методов источника данных!Таким образом, единственный способ игнорировать методы источника данных - это то, что вы не установили источник данных (и, возможно, делегат) своего табличного представления в качестве объекта, которым хотите быть источником данных.Вы можете установить их через Interface Builder или программно, например:

tableView.dataSource = self;
tableView.delegate = self;
1 голос
/ 27 апреля 2011

всякий раз, когда загружается представление

Куда вы звоните reloadData ?Вы называете это в методе -viewDidLoad ?Если да, это, вероятно, неверно, потому что -viewDidLoad вызывается только один раз - когда создается представление соответствующего UIViewController (при первом использовании).Возможно, вам следует взглянуть на -viewWillAppear , который вызывается (при условии правильного использования UIViewController) всякий раз, когда представление будет отображаться.

Другая возможная причина заключается в том, что если вы используете1015 * -viewWillAppear (или -viewDidAppear ) вообще не запускается.Это может произойти, если вы используете пользовательскую иерархию UIViewController.В этом случае вы должны вызывать его своими руками (есть исключения - например, UINavigationController делает это за вас, но просто [someView addSubview: myController.view] нет).

Также, пожалуйста, проверьте, правильно ли установлены делегаты, и tableView не равен nil (как вы знаете, сообщения для nil просто игнорируются).

0 голосов
/ 27 апреля 2011

методы источника данных не игнорируются при вызове [tableView reloadData]; Вы правильно установили IBOUTLET и источники?

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