2012-04-17 11 views
1

コントローラーの.hファイルで宣言してアクセス可能にしましたが、テスト目的でのみメソッドの可視性を変更するのは嫌いです。
shouldAutorotateToInterfaceOrientationをテストするには?

Objective-Cを使用してこのメ​​ソッドを呼び出す方法はありますか。
ex。メソッドのアクセシビリティを変更するテストクラスから一時的に?

答えて

3

okが、メモとして: 方法は、それが公共のアクセス方法だし、あなたのサブクラスで再びそれを宣言する必要はありません

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

UIViewController.h

リンゴのクラスで宣言された.hお返事のための

BOOL rotating = [yourController shouldAutorotateToInterfaceOrientation:1]; 
3

これはオーバーライドメソッドであり、自動的に呼び出しを行い、このメソッドを呼び出す必要はなく、試したい場合はデバッガを配置してテストします。

+0

おかげで、しかししてください:あなたは、テストのためにそれを直接呼び出すしたい場合はそう

ファイル、ちょうど(あなたのクラスのインスタンスへの参照を持っている任意のクラスから)それを行います疑わしい質問に答えてください。そうしないと下降音が発生する危険性があります。それはそうです... – user77115

+0

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

+0

質問は、メソッドのアクセシビリティを動的に変更することによって、別のクラスからshouldAutorotateToInterfaceOrientationを呼び出すことです。質問の言い換え:Objective-Cでメソッドのアクセシビリティを動的に変更できますか? – user77115

関連する問題