如何在使用RestKit时在IOS的Table视图中显示数据

时间:2012-03-13 09:35:07

标签: iphone objective-c ios uitableview restkit

我正在使用 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方法。如何更改执行顺序。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

您拥有所有数据后是否重新加载了tableView?

[self.tableView reloadData];