我有一個UITableViewController類。我正在使用NSMutableArray填充表格單元格。我正在從數據庫&中獲取數據,並將其添加到數組中。但細胞正在顯示舊的結果。我如何使用reladData方法&我應該在哪裏調用我的UITableViewController中的這個方法?如何使用tableView的reloadData方法iphone
回答
我引述蘋果的文檔時不使用它:
表視圖的委託或數據源 當它想 表視圖完全重裝 其數據調用此方法。不應在 中調用插入或刪除 行的方法,尤其是在調用 beginUpdates和endUpdates時實現的動畫 中。
這麼叫吧,當你改變了你的模型,但沒有使用實現代碼如下方法來改變如表:
deleteRowsAtIndexPaths:withRowAnimation:
deleteSections:withRowAnimation:
insertRowsAtIndexPaths:withRowAnimation:
insertSections:withRowAnimation:
每當你調用reloadData方法,表視圖將被刷新。當你想在從數據庫加載數據後刷新表格時,可以在完成抓取時調用重新加載數據。
// code to fetch data from database // when done, reload the table [myTableView reloadData];
你可以(也應該)調用reloadData:
時要強制表重新加載或當你知道它沒有被抽呢。
通常,您會在您的視圖控制器的viewDidLoad:
方法或viewDidAppear:
(或甚至viewWillAppear:
)中執行此操作。
在這些方法之外,如果您實質性地更改用於向表中提供數據的數據數組的內容,您可能需要致電reloadData:
。例如,假設您有一個包含每個庫存級別的產品列表。在初始視圖中,您可能只顯示數組中的所有內容。但是,假設您應用了一個過濾器來僅顯示零庫存的產品。包含產品的陣列將被縮小爲只包含那些產品,因此在縮小陣列後,您可以在表格上調用reloadData:
,以便更新視圖。
順便說一下,正如我最近發現的,當您撥打reloadData:
時,表格會異步(很快)重新加載。但是,方法deleteRows...
,deleteSections...
,insertRows...
和insertSections...
(特別是在beginUpdates:
和endUpdates:
調用之間)是同步執行的,並且對於大型表可以顯着減慢應用程序(並凍結UI)。你的里程可能會有所不同,但那是我對這些方法的經驗。我實際上去了一個模型,我使用deleteSections...
,然後使用reloadData:
(因爲我正在刪除所有部分)。
您可以使用
//fetch data from database.. and update array
//reload table data asper new data
[self.tableView reloadData];
- 1. TableView reloaddata
- 2. 當tableView reloadData
- 3. TableView不調用時調用[tableView reloadData]
- 4. 應用程序崩潰在tableview的reloadData方法
- 5. tableView reloadData不起作用
- 6. TableView reloadData不會更新iPad中的UI,但可用於iPhone
- 7. reloadData()不更新父的TableView
- 8. 的TableView reloadData與beginUpdates&endUpdates
- 9. TableView reloadData不重新加載?
- 10. TableView yOffset改變後reloadData
- 11. 麻煩解決[tableView reloadData]
- 12. Cell accessorytype不能在[tableview reloadData]
- 13. iPhone - Tableview多線程 - 可行的方法?
- 14. iphone使用2 tableview
- 15. 你如何使用reloadData?
- 16. 不使用'numberOfRowsInSection'委託方法到達tableview的結尾iphone sdk
- 17. 調用[tableView reloadData];從一個modalViewController
- 18. 從appdelegate調用UITableView的reloadData方法
- 19. 的tableView reloadData不工作:的cellForRowAtIndexPath不叫
- 20. 的UITableView reloaddata和的tableview是空
- 21. 的tableView reloadData沒有文件目錄
- 22. 的tableview reloadData產生EXC斷點
- 23. 升級到iPhone OS 4後,我的TableView滾動到頂部後reloadData調用
- 24. 的TableView不reloaddata當我點擊「更多數據...」在的tableView
- 25. iOS-如何在CfReadStream中創建tableview的reloaddata
- 26. iPhone:如何使用performSelector:onThread:withObject:waitUntilDone:方法?
- 27. 如何使用HTTP POST方法iphone
- 28. UITableViewCell reloadData方法不起作用
- 29. Objective-C:如何聲明/定義在tableView上使用的方法
- 30. reloadData()使用Swift
刷新你的表格單元格,還看尼克韋弗的回答爲其他有價值的信息。 – taskinoor 2011-04-08 18:14:35