Принудительная перезагрузка UITableView - target-c - PullRequest
1 голос
/ 17 сентября 2011

У меня есть приложение tabBar.Есть 2 UIViewController A и B. UIViewController B имеет UITableView.Я вызываю метод в A UIViewController из B UIViewController: [b someMethod: someObject];

Вот код:

-(void) someMethod:someObject
{
  [tableViewDataArray addObject: someObject];
  [tableView reloadData];
}

Но UITableView не перезагружается, пока я не переключу UIViewController в B;Как перезагрузить его без переключения?Если это возможно

Ответы [ 2 ]

1 голос
/ 18 сентября 2011

Ваше лучшее решение - поместить на панель инструментов кнопку для добавления и обновления, создать функцию с именем add() и подключить ее к кнопке.и внутри вы делаете:

-(void) add:someObject
{
[tableViewDataArray addObject: someObject];
[tableView reloadData];
}

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

0 голосов
/ 17 сентября 2011

UITabBarController не загружает все представления своих вкладок, пока они на самом деле не нужны, поэтому ваше табличное представление, вероятно, даже не существует (т. Е. nil), прежде чем переключиться на вкладку, которая его содержит.

Хотя вы могли бы заставить контроллер представления загрузить свою иерархию представлений путем доступа к свойству view, я бы не рекомендовал это делать.Какой смысл перезагружать невидимое табличное представление?

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