2012-03-13 56 views
0

我正在开发使用RestKit在IOS某个应用显示在IOS的表格视图中的数据。数据检索成功,但我无法在表格视图中显示它(即行是空的)。当我滚动表格时,行显示正确(即数据在那里!!)。如何同时使用RestKit

你会从代码得到更好的主意。(只是简单,我提供的代码的粗线条,让我知道,如果需要更多的代码。)

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!!"); 
} 

代码执行成功,但表中的行是空的。!

输出:

viewDidLoad_inside!

请求没有启动负载

请求被发送

table_inside

要求didLoadResponse

所以,问题是,方法不正确的顺序执行。为什么会发生这种情况?如何解决它。有没有更好的方法来做到这一点。我是IOS新手,所以无法弄清楚。

我试图彼得·凯利的回答,并且工作正常。但是,只有在成功检索记录之后,才能执行tableView方法。如何改变执行顺序。

任何帮助将不胜感激。

回答

3

你有没有重新加载您的tableView你把所有的数据后?

[self.tableView reloadData]; 
+0

大。谢谢你这么快速的回答。您的解决方案可以运作但是如果数据的大小太大,那么restKit的响应需要很长时间。在检索数据之前,行保持空白,以致看起来很丑。除非成功检索整个数据,否则有哪些表格不会显示?再次感谢。 :-) – 2012-03-13 09:56:23

+0

没问题。 (如果你喜欢它,你可以升级并接受答案......)。我可能会问你新问题的另一个问题 - 比试图在我说的评论中讨论它更好。您可以显示一个微调控件,直到数据被加载。 – 2012-03-13 09:58:19