我正在使用 RestKit 在IOS中开发应用。数据检索成功,但我无法在表视图中显示它(即行是空的)。当我滚动表格时,行显示正确(即数据在那里!!)。
您将从代码中获得更好的想法。(为了简单起见,我提供了代码的粗略轮廓,如果需要更多代码,请告诉我。)
TableViewController.m
- (void)viewDidLoad
{
NSLog(@"viewDidLoad_inside!!");
RKRequest* request = [[RKClient sharedClient] get:@"/urlstring" delegate:self];
[request send];
NSLog(@"request is sent");
[super viewDidLoad];
}
- (void)requestDidStartLoad:(RKRequest *)request {
NSLog(@"request did start Load");
}
- (void)request:(RKRequest *)request didLoadResponse:(RKResponse *)response {
NSLog(@"request didLoadResponse");
......
//rest of the code Logic
......
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"table_inside!!");
}
代码成功执行但Table的行为空。!!
输出:
viewDidLoad_inside !!
请求已启动加载
发送请求
table_inside
请求didLoadResponse
所以问题是,方法没有按正确的顺序执行。为什么会这样?如何解决它。有没有更好的方法来做到这一点。我是IOS的新手,所以无法理解。
我试过Peter Kelly的回答,这很好用。但是,在成功检索记录之前,不得执行tableView方法。如何更改执行顺序。
非常感谢任何帮助。
答案 0 :(得分:3)
您拥有所有数据后是否重新加载了tableView?
[self.tableView reloadData];