2012-05-16 68 views
0

在一個UIViewController我有一個UITableView和一個NSArray數據列表,並且我試圖用[cellForRowAtIndexPath:indexPath]中的datalist填充tableview。在UIViewController的viewDidLoad中,我寫UITableView更新數據源

datalist = [LoadingService getDatalist] 

的LoadingService加載從網絡數據填充數據列表和getDatalist消息中返回數據列表。我知道在viewdidload中,數據列表可能沒有數據,所以沒有數據顯示在UITableView中。 我的問題是,如何在datalist更新時顯示UITableView中的datalist數據?

+0

您是從服務器解析部分結果還是在多個事務中獲取數據? – danh

回答

3

答:不要。

如果你沒有數據,然後顯示微調(UIActivityIndi​​catorView)或進度視圖(UIProgressView)至少表明你的應用正在處理,否則用戶會感到沮喪的感知滯後。然後,當您的函數返回可接受的數據時,請致電-reloadData,只要您是上述表的代表,您就可以在表中顯示新更新的數組。許多服務器也一次返回響應,而不是分塊。

如果您碰巧正在處理一個輸入的多個響應,因爲每個響應都加載到數組/數據源中,請調用-reloadData以給出「實時更新」的錯覺。

+0

只需調用-reloadData來刷新數據?我只是在viewdidload中設置datalist,不需要在datalist更新時重新設置datalist? – Kaibin

+0

取決於。這是一次性迴應嗎? – CodaFi

+0

'一次性迴應'是什麼意思?在我的LoadingService中,它是解析數據以填充數據列表。 – Kaibin