2010-04-14 43 views

回答

4

表中的行以兩種方式更改:(1)底層數據更改,表必須重新加載以顯示新數據。 (2)用戶直接通過插入,刪除或拖動來編輯表格。塊處理(2)。

beginUpdatesendUpdates塊告訴表,它正在被直接編輯,並且它不應該依賴其數據源返回的值。如果沒有該塊,表格會正常調用numberOfRowsInSection以查明它應該有多少行。如果用戶剛剛插入或刪除了一行,它將接收到不正確的值,因爲數據模型可能尚未更新。直到表格顯示更改並委託寫入數據之後,數據源纔會返回正確的值。

您可以將該塊視爲一種臨時將表與數據源分離的方式。

相關問題