UIToolBar имеет два представления: UIView с UITextViews и UIView с UITableView.
UITableView, который вызывается через UIToolBar. При первой загрузке UITableView попадает в БД и получает информацию. Я «перехожу» обратно к UIView с UITextViews, выбираю некоторые данные, а затем «перехожу» обратно к UITableView, но ни один из методов делегата не вызывается, например, viewDidLoad или initWithNibName или что-то еще, поэтому данные в таблице устарели.
Итак, я узнал способ
-(void)viewWillAppear:(BOOL)animated {
называется, ОДНАКО, у него нет доступа к tableView, например,
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
Я наткнулся на эту рекомендацию:
«Кажется, я не могу понять, как обновить UITableView ... Я нашел это, похоже, та же проблема, что и у меня,
Я создал свойство MyTableViewController* в классе MyModalViewController. Перед presentModalView я сохраняю указатель контроллера табличного представления на это свойство в контроллере модального представления.
Теперь у меня есть ссылка на контроллер табличного представления, когда я нахожусь в контроллере модального представления. Теперь просто используйте этот сохраненный контроллер табличного представления, чтобы найти его tableView, а затем перезагрузите данные.
Чувствует себя грязным, но работает».
Если это ответ, я не уверен, как его кодировать.
Спасибо вперед!
- sk
Примечание. Я только что попробовал это:
.h
UITableView *tableViewPtr;
@property (nonatomic, retain) UITableView *tableViewPtr;
.m
@synthesize tableViewPtr;
И хранить в -
(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {:
...
self.tableViewPtr = tableView;
...
Затем попробуйте вызвать его из
-(void)viewWillAppear:(BOOL)animated {
[self.tableViewPtr reloadData];
Но это, кажется, не работает.