2011-03-24 15 views
1

iPhone ASIHTTPRequest Asyncroneous提取響應我有我需要的反應,我已經從服務器需要設置,所以我可以在我的viewDidLoad方法使用一個字符串返回的響應....從requestFinished方法

被解析然後顯示在表格視圖中....我已經使用同步請求完成了這項工作,但異步會更好地用於UI。

下面是用來獲取響應的方法。

- (void)requestFinished:(ASIHTTPRequest *)request 
{ 
    // Use when fetching text data 
    NSString *responseString = [request responseString]; 
} 

我需要在我viewDidLoad方法使用存儲在「responseString」的數據,以使得響應被解析並加載到表視圖。

+0

爲什麼不將解析器移動到除「viewDidLoad」方法之外的其他方法,並使用performSelector調用它:onMainThread/dispatch_async? – 2011-03-24 13:17:22

回答

2

你不需要它在你的viewDidLoad中。正如你所看到的,它爲時已晚。

你需要的是觸發你的UITableView重新加載自己,一旦你有你的數據返回。

- (void)requestFinished:(ASIHTTPRequest *)request 
{ 
    // Use when fetching text data 
    NSString *responseString = [request responseString]; 

    // do something to turn responseString into the data you'll use to 
    // populate your table with data, and then: 

    [myTable reloadData]; 
} 

因此,表格將空出來,並且一旦你的數據顯示就會重新載入。

+0

我需要在哪裏做我的請求,然後才能使它在表格中按順序加載......?謝謝 – MrPink 2011-03-24 13:28:53

+0

啊它確定!我已經整理過了。再次感謝你的幫助! – MrPink 2011-03-24 13:37:16

+0

任何機會......你沒有如何設置默認值表格單元格,而數據加載數據......因爲表格是空的,當你第一次加載它...... – MrPink 2011-03-24 13:55:05