2012-07-18 2 views
0

UISwitch 인 가변 셀을 가진 UITableView이 있습니다.UISwitch가 동작을 호출하지 않습니다.

[cell.currentSwitch addTarget:self action:@selector(changeCurrentEvent:) forControlEvents:UIControlEventValueChanged]; 

나는 당신이 하나 개의 스위치를 뒤집어 때, 그것은 (-changeCurrentEvent:의 내부에) 다른 사람의 전부를 해제한다는 설정이 : 여기에 모든 스위치에 대한 행이다. 내가 눈치 챘을 때, -changeCurrentEvent: 스위치가 수동으로 플립 될 때 올바르게 호출되지만, 다른 모든 스위치가 꺼지면서 값이 변경되기 때문에 각각 -changeCurrentEvent:을 호출하면 안된다. 그게 내가 어쨌든 그들이하기를 바란다.

답변

0

컨트롤 이벤트는 사용자 동작 (예 : 스위치의 경우 탭핑)에 의해 변경된 경우에만 전송됩니다. 코드에서 값을 변경하면 전송되지 않습니다.

이 잘 컨트롤이 다른 컨트롤 변경의 원인이 변경 다른 컨트롤에 대한 응답으로 업데이트되는 무한 루프 상황을 피할 수

...

-changeCurrentEvent: 귀하의 구현에 대한 응답으로 모델에 대한 모든 필요한 사항을 변경해야

단일 스위치가 변경됩니다.

관련 문제