Перезагрузка UITableView из другого класса? - PullRequest
0 голосов
/ 07 января 2012

Это вопрос, который задают многие, особенно здесь, в StackOverflow.

Перезагрузка данных в табличном представлении очень проста, [self.myTableView reloadData];, myTableView является экземпляром моего UITableView, так как я использую UIViewController вместо UITableViewController.

Я хочу перезагрузить табличное представление из другого контроллера представления после того, как я обновил данные (из Интернета). Данные содержатся в списке свойств. Я пытался использовать протоколы, уведомления и некоторые другие вещи, такие как вставка в viewDidAppear:. Ничто не сработало для меня.

Это то, о чем я не думал, или я просто сделал некоторые методы неправильно? Помощь очень ценится!

Ответы [ 2 ]

0 голосов
/ 07 января 2012

Использование шаблона наблюдателя + уведомление - хороший способ.И позволить вашему контроллеру представления решить, когда перезагрузить данные, также является хорошей практикой.Почему не работает уведомление.Вы использовали addOvserver:?

0 голосов
/ 07 января 2012

Если вы хотите получить доступ к объекту UITableView или к чему-то еще из другого класса, вы можете сделать его доступным с помощью свойства:

ClassA.h

@interface ClassA {
    UITableView *tableView;
}
@property (nonatomic, readonly) UITableView *tableView;
@end

ClassB.m

- (void)reloadTableInOtherClass {
    [classAVariable.tableView reloadData];
}
...