2013-05-21 61 views
0

我有一個UITableViewDataSource,它維護將由UITableView實例呈現的數據項的各個部分。表視圖是可編輯的,允許插入和刪除行和部分,視圖上的所有更改都應該寫回到數據源。閱讀Apple文檔後,我可以通過發送消息tableView:commitEditingStyle:forRowAtIndexPath:來處理數據源上的插入和刪除操作。在UITableView中插入新節或刪除節時如何更新UITableViewDataSource?

但是,我不知道什麼是標準的方式來反饋部分的變化到數據源。請提供幫助。

+0

如果我理解你的問題(不知道如果我這樣做)。 當您刪除一行時,您在「indexpath」中執行該操作,因此,將該行作爲參考,您必須刪除數據源(Array?)中的項目。如果你添加一行,你必須添加一個項目到數據源。 – Vertig0

+0

@PatricioIgnacioFariaValdivi,謝謝,但我要求插入/刪除部分。 –

+0

哦,對不起,我的壞。你有分開的來源部分嗎? – Vertig0

回答

1

表視圖調用委託方法tableView:commitEditingStyle:forRowAtIndexPath:來告訴你用戶做了什麼(他們添加/刪除了什麼)。然後,代碼負責對模型進行適當的更改並重新加載表視圖。

重新加載最簡單的方法是調用reloadData,並且您還有更多特定的選項來重新加載/插入/刪除單個行或部分 - 這全部來自UI視圖,而表視圖要求您更新了模型之前你調用任何這些方法或表視圖將引發異常。

+0

這是forRow,你知道如何處理「forSection」? –

+0

你如何讓用戶刪除該部分? – Wain

+0

UITableView實例方法:'insertSections:withRowAnimation:'''deleteSections:withRowAnimation:' –