2010-07-21 5 views
0

내 아이폰 앱에서 하나의 이벤트 (UIButton 내부 터치)가 다른 클래스의 세 가지 동작에 연결되어 있습니다. 첫 번째 액션은 게임 객체를 만들고 두 번째 액션은 새 뷰 컨트롤러를 푸시하고 세 번째 액션은 푸시 된 뷰 컨트롤러에서 메소드를 트리거합니다.Interface Builder에서 하나의 이벤트에 여러 작업이 있습니까?

인터페이스 작성기에서 위에서 언급 한 순서대로 이러한 작업을 이벤트에 연결했지만 버튼을 누르면 응용 프로그램이 충돌하는 경우가 있습니다.

IB에서 조치를 취한 순서가 내 장치 및 다른 시스템에서 런타임에 유지 관리되는지는 알 수 있습니까?

+0

아마도 도움이 될까요? http://stackoverflow.com/questions/632309/iphone-sdk-ibaction – jmont

답변

1

조치가 호출되는 순서가 IB에서 연결하는 순서와 다를 수 있습니다. 따라서 앱에서보기 컨트롤러를 만들기 전에 앱에서보기 컨트롤러를 구성하려고 할 수 있습니다. 각 동작 방법에 NSLog 문을 넣어 호출 순서를 확인할 수 있습니다.

조치가 IB 주문으로 호출 되더라도 이는 코드 유지 관리의 악몽입니다. UIButton에 새 작업을 삽입하고 원래 연결 한 순서를 기억해야한다고 생각한 경우

해결 방법 : 순서를 적용하려면 다른 세 가지 방법을 원하는 순서로 호출하는 단일 IBAction 메서드를 만듭니다.

+0

James, 고맙습니다. 할 수있는 가장 좋은 방법은 단일 IBAction입니다. – cwagner72

관련 문제