您好我目前在UIViewController中嵌入了tableview。在tableview中,我收集了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];
}
我收到一条错误,指出在ViewController中找不到属性refreshControl。
是因为我使用嵌入式tableview还是我做错了什么?
答案 0 :(得分:0)
您正在viewDidLoad方法中实例化UIRefreshControl。 updateArray方法看不到对该对象的引用。您需要将其设为属性或实例变量。
@property (strong, nonatomic) UIRefreshControl *refreshControl;
然后代替
UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
使用
refreshControl = [[UIRefreshControl alloc] init];
答案 1 :(得分:0)
您只能将UIRefreshControl添加到UITableViewController而不是UIViewController。 检查此答案是否在UIViewController中使用UIRefreshControl,其中UITableViewController是子级。 https://stackoverflow.com/a/14148118/1017099