我有一個基於標籤欄和從互聯網檢索到的數據的應用程序。主選項卡顯示地圖,其他選項卡之一顯示使用UITableView
顯示的地圖中心點周圍的事件。如果用戶移動地圖,然後移動到事件頁面,則需要刷新表中顯示的事件列表。要做到這一點,我要求在viewWillAppear:animated:
事件,當完成(異步)我稱爲表視圖的reloadData
方法。除非用戶在標籤之間快速切換(例如顯示事件,移動到地圖,移動地圖,移回事件,移回地圖等),否則這種方式非常有效。某些時候,表視圖試圖訪問事件數據源(NSArray
)時會被修改。我的數據源正在從UITableView下更改
這裏有一個問題,是類似的:
UITableView Crashes if Data Source Is Updated During Scrolling
一爲這一問題的解決方案的描述在較高的水平,這正是我想要的一個解決方案:凍結數據源,而該表正在更新。然而,我無法弄清楚的是何時解凍數據源。問題是我無法找到任何方式在表完成更新時得到通知。
任何想法?在更新表時如何凍結數據源,然後在表完成更新後解凍它?
那麼,有問題的是'tableView:cellForRowAtIndexPath:'分別爲每行調用,只爲行可見。結果,你完全不知道何時完成它的調用。 – 2010-11-20 20:43:31