コントローラの.hファイルで宣言することでアクセスできるようにしましたが、
テスト目的でのみメソッドの可視性を変更するのは好きではありません。
Objective-Cを使用してこのメソッドを呼び出す他の方法はありますか?テストクラスから一時的にメソッドのアクセシビリティを変更することによって?
コントローラの.hファイルで宣言することでアクセスできるようにしましたが、
テスト目的でのみメソッドの可視性を変更するのは好きではありません。
Objective-Cを使用してこのメソッドを呼び出す他の方法はありますか?テストクラスから一時的にメソッドのアクセシビリティを変更することによって?
これはオーバーライド メソッドであり、自動的に呼び出されます。このメソッドを呼び出す必要はありません。または、それでも試してみたい場合は、デバッガーを配置してテストします。
わかりました、思い出してください:メソッドはAppleクラスUIViewController.hで宣言されています
// Override to allow rotation. Default returns YES only for UIInterfaceOrientationPortrait
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation;
したがって、これはパブリックにアクセス可能なメソッドであり、サブクラスの .h ファイルで再度宣言する必要はありません
したがって、テストのために直接呼び出したい場合は、(クラスのインスタンスへの参照を持つ任意のクラスから) 実行してください。
BOOL rotating = [yourController shouldAutorotateToInterfaceOrientation:1];