Обновить контроллер для встроенного просмотра таблицы IOS 6
Привет у меня в настоящее время есть встроенный просмотр таблицы в UIViewController. В табличном представлении у меня есть коллекция данных JSON. Я хочу создать контроллер обновления, поэтому всякий раз, когда пользователь отключается, данные json обновляются.
Я пробовал следующий код
- (void)viewDidLoad
{
[superviewDidLoad];
UIRefreshControl *refreshControl = [[UIRefreshControl alloc]
init];
[refreshControl addTarget:nil action:@selector(updateArray) forControlEvents:UIControlEventValueChanged];
self.refreshControl = refreshControl;
}
-(void) updateArray{
[self.tableView reloadData];
[self.refreshControl endRefreshing];
}
Я получаю ошибку, которая говорит, что свойство refreshControl не найдено в ViewController.
Это потому, что я использую встроенный просмотр таблицы или я делаю что-то не так?
2 ответа
Вы можете добавить UIRefreshControl только в UITableViewController, но не в UIViewController. Проверьте этот ответ для использования UIRefreshControl в UIViewController, где UITableViewController является дочерним. /questions/12430169/uirefreshcontrol-bez-uitableviewcontroller/12430190#12430190
Вы создаете экземпляр UIRefreshControl внутри метода viewDidLoad. Ссылка на этот объект не видна методу updateArray. Вам нужно будет либо сделать его свойством, либо переменной экземпляра.
@property (strong, nonatomic) UIRefreshControl *refreshControl;
тогда вместо
UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
использование
refreshControl = [[UIRefreshControl alloc] init];