2011-08-09 67 views
0

我在我的一個視圖中使用自定義tableviewcell。我決定添加一個UISwitch到這個單元格,以使用戶能夠一次刪除多行。獲取UISwitch在自定義UITableViewCell的狀態

正常情況下,當用戶選擇一個行並點擊我的刪除按鈕時,我有一個UIAlert彈出確認,之後警報clickedButtonAtIndex方法處理結果。在該方法中,我得到了indexpath([self.myTableView indexPathForSelectedRow])並相應地刪除(或不)。

所以基本上,因爲標題狀態而不是使用indexPath落入我的刪除語句,我需要檢查self.myTableView.myCell.mySwitch.on是否爲TRUE。任何人都可以指出我正確的方向嗎?我需要遍歷tableview中的所有行,並且需要刪除狀態所在的每一行。

謝謝。

回答

0

您應該使用嵌套循環(或者如果您只有一個部分的情況下使用單個循環)和cellForRowAtIndexPath:來遍歷單元格。
如果您看到單元格的switch.on = TRUE,則通過調用indexPathForCell:將其索引保存到數組中。在迭代完單元后,調用deleteRowsAtIndexPaths:withRowAnimation:使用先前創建的數組。

+0

是的,這是我計劃做的。但cellForRowAtIndexPath:只調用一次,除非我reloadData。默認情況下,開關狀態全部關閉,用戶將在表格加載後改變狀態。 – MRB