2012-07-13 4 views
1

각 항목에 체크 표시가있는 표를 표시하는 tableview가있는 iPhone 응용 프로그램을 작성하고 있습니다. 클릭 한 번으로 각 항목을 선택/선택 취소 할 수 있습니다. [완료] 버튼을 누르면 모든 셀을 반복하고 체크 표시가 활성화되어 있는지 확인하고 싶습니다. 같은 뭔가 : 이제TableView에서 선택한 셀 찾기

for (int i = 0; i < [fullDataset count]; i++) { 
    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:i inSection:0]; 
    UITableViewCell* cell = [self.tableView cellForRowAtIndexPath:indexPath]; 
    if (cell.accessoryType == UITableViewCellAccessoryCheckmark) { 
     NSLog(@"THIS CELL IS SELECTED!"); 
    } 
} 

는 문제는 내가 선택하고 현재있는 표시 만 셀을 얻을이 절차를 사용한다는 것입니다. 나는 그 절차가 모든 셀, 심지어 표시되지 않은 셀에서도 실행되도록하고 싶습니다. 선택을 추적하기 위해 다른 데이터 구조를 사용할 수도 있지만 약간 중복 될 수 있습니다.

아이디어가 있으십니까?

고맙습니다.

클로스

답변

2

당신은 선택 여부, 세포가 다시 얻을 항상이 상태를 변경하는 경우 U에게 셀에 셀 수 없다.
사용자가 셀을 탭하면이 indexPath를 집합에 추가 할 때 선택한 인덱스 경로의 별도 NSSet을 관리해야합니다. 집합에서 indexPath를 삭제하면 셀을 선택 취소합니다.