버튼을 눌렀을 때 호출하고 싶은 함수가 있지만, 지금까지했던 것과는 다른 어떤 함수에서든 접근 할 수 있기를 원합니다. 여러 ViewController. 나는 각 ViewController에서 동일한 코드 덩어리를 복제하고 싶지 않습니다.UIButton의 클래스 외부에서 함수 호출하기
ViewController 클래스 외부에서 호출 할 함수를 정의하려고했지만 대상에 도달하기 위해 필요한 설정이 무엇인지 알 수 없습니다. 함수가 클래스 내에 정의되어 있기 때문에 일반적으로 self
이 사용되지만 다른 파일 및/또는 클래스 외부의 함수 인 경우 어떻게합니까?
button.addTarget(???, action: "myFunction:", forControlEvents: UIControlEvents.TouchUpInside)
편집 : 또 다른 해결책은 내가 이런 일을하고 내가 버튼을 생성하는 함수 내에서 호출 할 함수를 정의하는 것입니다 사용할 수있을 것입니다,하지만 난 모르고 같은 문제로 실행 무엇을 target
에 도달해야합니다.
class ViewController {
// Main code here
}
func makeButton() {
// Code to make button here
button.addTarget(???, action: "buttonPressed",...)
func buttonPressed() {
// Code that runs when the button is pressed goes here
}
}
미리 감사드립니다.
답 해 주셔서 감사합니다. 내가 제안한 것을 시도해 보았고 viewDidLoad에서 만든 인스턴스에서 새 클래스의 함수를 호출 할 수 있었고 버튼의 대상으로 설정할 수 있었지만 시뮬레이터에서 실행하고 앱이 충돌하고 콘솔에 오류 코드 또는 오류 보고서가 표시되지 않는 버튼. 그 일이 왜 일어날 지 아십니까? – Erik
당신은 당신이 창조하고 대상으로 설정 한 물체를 보유하지 않고 유지합니다 ... – Wain
당신 말이 맞습니다. 선언을 레벨을 고정 시켜서 움직여 라! 정말 고마워! – Erik