2012-04-17 5 views
1

컨트롤러의 .h 파일에 선언하여 액세스 가능하게 만들었지 만 테스트 목적으로 만 메소드의 가시성을 변경하는 것을 좋아하지 않습니다.
shouldAutorotateToInterfaceOrientation을 (를) 테스트하는 방법?

Objective-C를 사용하여이 메서드를 호출하는 다른 방법이 있습니까?
ex. 테스트 클래스에서 일시적으로 메소드의 액세스 가능성이 변경됩니까?

답변

3

확인, 미리 알림과 같이 방법은

// Override to allow rotation. Default returns YES only for UIInterfaceOrientationPortrait 
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation; 

이 때문에 공공 접근 방법의 UIViewController.h 사과 클래스에 선언, 당신은 당신의 서브 클래스 .H에서 다시 선언 할 필요가 없습니다 당신이 테스트를 위해 직접 호출 싶다면 단지 (A 클래스의 인스턴스를 참조하여이 모든 클래스에서) 그것을 할, 그래서

파일 : 답장을 보내

BOOL rotating = [yourController shouldAutorotateToInterfaceOrientation:1]; 
3

이것은 오버라이드 메소드입니다.이 메소드는 자동으로 호출되거나,이 메소드를 호출 할 필요가 없거나, 계속 시도하려는 경우 디버거를 넣고 테스트합니다.

+0

감사하지만하시기 바랍니다 제기 된 질문에 대답하거나, 당신은 downvotes를 위험에 빠뜨릴 수 있습니다. 그건 그렇고 ... – user77115

+0

'[self shouldAutorotateToInterfaceOrientation : [UIDevice currentDevice] .orientation]; ' – Krunal

+0

질문은 메서드의 접근성을 동적으로 변경하여 다른 클래스에서 shouldAutorotateToInterfaceOrientation을 호출하는 것에 관한 것입니다. 질문 변경 : Objective-C에서 메서드의 액세스 가능성을 동적으로 변경할 수 있습니까? – user77115

관련 문제