用于嵌入式tableview的刷新控制器ios 6

时间:2013-03-29 20:28:38

标签: iphone ios6 xcode4.5 tableview uirefreshcontrol

您好我目前在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还是我做错了什么?

2 个答案:

答案 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