Swift3을 배우고있어 문제가 발생했습니다.Swift3 - 대상 액션을 UITableViewCell에 추가하는 방법
특정 UITableViewCell에 버튼을 추가했습니다. 나는 버튼 등이 부착 indexpath.row를 들어
let myButton = UIButton(type: .custom)
myButton.frame = CGRect(x: 0, y: 0, width: 20, height: 20)
myButton.addTarget(self, action: #selector(buttonTapped), for: .touchUpInside)
myButton.tintColor = UIColor.yellow()
: I 버튼을 정의하고있어, cellForRowAt
의 시작 부분에서
ButtonTapped libc++abi.dylib: terminating with uncaught exception of type NSException
: I 버튼을 선택하면, 나는 충돌을 얻을 이 :
cell.accessoryView = myButton as UIView
그리고 작업 buttonTapped
시도는 다른 ViewContr를로드 올러. 로그에서 볼 수 있듯이
func buttonTapped(){
print("ButtonTapped")
let myPickerController = self.storyboard?.instantiateViewController(withIdentifier: "picker") as? MyPickerController
print("1")
self.present(myPickerController!, animated: true)
print("2")
}
, 내가 루틴이라고 볼 수 있습니까 :
나는 버튼 액션이 (루틴 호출 한)
루틴은 다음과 같다 근무 확인을받을 호출했지만 충돌 전에 인쇄 값 1 또는 2가 표시되지 않습니다. 누구든지 내가 뭘 잘못하고 있는지 알아? 감사합니다
업데이트
이 문제를 발견했습니다. 내가 버튼을 구축 한 방법의 조합, 그리고 내가 다음보기 컨트롤러 호출 된 방법 :
self.performSegue (withIdentifier : "DetailToCategory를"보낸 사람 : 무기 호) (
self.present를 작동 categoryPickerController !, animated : true, completion : nil)가 실패합니다.
func buttonTapped(sender : UIButton){
....
}
희망
감사 @nicolasmiari
테이블보기 셀을 기억하는 것을 다시 사용합니다. 매번 새 단추를 추가하는 것이 현명한 경우 확실하지 않습니다. 아마도 각 셀에 단추가 있고 셀을 큐에서 빼낼 때마다 다시 구성해야 할 수도 있습니다. 'removeTarget ... '에'nil' 인수를 사용하여 모든 타겟/액션을 리셋 할 수 있습니다 : http://stackoverflow.com/a/3340840/433373 –
좋습니다. 나는 그것을 시도했다고 생각 하겠지만, 나는 –
흠을 점검 할 것이다. 단추를 전역 변수로 설정했습니다. 나는 그것을 필요로하는 특정한 세포를 위해 그것을 부른다. 나는 버튼이 그 기능을 활성화시키는 것을 볼 수있다. 그러나 나는 아직도 충돌을 얻는다. .. 다른 아이디어는 환영한다. –