1

嗨,我目前在 UIViewController 中嵌入了 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 还是我做错了什么?

4

2 回答 2

0

您正在 viewDidLoad 方法中实例化 UIRefreshControl。updateArray 方法看不到对该对象的引用。您需要将其设为属性或实例变量。

@property (strong, nonatomic) UIRefreshControl *refreshControl;

然后代替

UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];

采用

refreshControl = [[UIRefreshControl alloc] init];
于 2013-03-30T15:56:19.980 回答
0

You can add UIRefreshControl only to UITableViewController and not UIViewController. Check this answer for using UIRefreshControl in UIViewController where UITableViewController is child. https://stackoverflow.com/a/14148118/1017099

于 2013-04-04T09:22:15.477 回答