2011-08-09 3 views
0

내 뷰 중 하나에서 사용자 정의 tableviewcell을 사용하고 있습니다. 사용자가 한 번에 여러 행을 삭제할 수 있도록이 셀에 UISwitch를 추가하기로 결정했습니다.사용자 정의 UITableViewCell의 UISwitch 상태 가져 오기

일반적으로 사용자가 행을 선택하고 삭제 버튼을 누르면 확인을 위해 UIAlert 팝업이 표시되고 그 후에 alert clickedButtonAtIndex 메서드가 결과를 처리합니다. 그 방법에서 나는 indexpath ([self.myTableView indexPathForSelectedRow])를 얻고 그에 따라 삭제한다.

기본적으로 indexPath를 내 delete 문에 사용하는 대신 제목이 표시되므로 self.myTableView.myCell.mySwitch.on이 TRUE인지 확인해야합니다. 누구든지이 일을 위해 올바른 방향으로 나를 가리킬 수 있습니까? 나는 tableview의 모든 행을 반복해야하며 상태가있는 각 행에 대해서는 제거해야합니다.

감사합니다.

답변

0

중첩 루프 (또는 단 하나의 섹션 만있는 경우 단일 루프) 및 cellForRowAtIndexPath :를 사용하여 셀을 반복해야합니다.
셀의 switch.on = TRUE가 표시되면 indexPathForCell :을 호출하여 indexPath를 배열에 저장합니다.
셀을 반복 처리 한 후 이전에 작성한 배열로 deleteRowsAtIndexPaths : withRowAnimation :을 호출하십시오.

+0

네, 그게 내가 계획했던 것입니다. 하지만 cellForRowAtIndexPath :는 reloadData를 제외하고 한 번만 호출됩니다. 기본적으로 스위치 상태는 모두 꺼져 있으며 사용자는 테이블로드 후 상태를 변경합니다. – MRB

관련 문제