2012-03-13 58 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