【发布时间】:2017-02-08 11:51:41
【问题描述】:
我正在尝试使用 UIRefresh 用最新数据重新加载 UITableView。
self.refreshControl = [[UIRefreshControl alloc] init];
[self.refreshControl addTarget:self
action:@selector(myRefresh)
forControlEvents:UIControlEventValueChanged];
[self.tableView addSubview:self.refreshControl];
- (void)myRefresh
{
//Empty array which hold old data.
//calling API to get fresh data
}
-(void)delegatefromAPI
{
//array will be reloaded with data from DB
[self.tableView reloadtable];
// End the refreshing
if (self.refreshControl) {
[self.refreshControl endRefreshing];
}
}
但问题是在 API 调用去获取数据之前,cellForRowAtIndexPath 被调用(自动)此时加载每个单元格为空的数组是空的。
但是我在获取数据后调用[self.tableView reloadtable];,然后调用"[self.refreshControl endRefreshing]"。
但是 cellForRowAtIndexPath 在 delegatefromAPI 中的 [self.tableView reloadtable] 之前被调用。
我哪里错了.....
【问题讨论】:
-
检查我的答案你得到了你的解决方案
标签: ios objective-c iphone uitableview