ビュー1、ビュー2、ビュー3、ビュー4、ビュー5などの複数のビューがあり、ビュー5が現在のビュー(上にある)であるナビゲーションスタックにある場合、どのようにすることができますかview5のコントローラのview3で書き込まれたメソッドにアクセスしますか?それはview5のコントローラでview3のコントローラのインスタンスを作成し、メソッドを呼び出すように行われますか?しかし、それは私が信じている理想的なアプローチではありません。このシナリオのための最良のアプローチは何ですか?UIViewController階層
0
A
答えて
0
あなたは
NSMutableArray *activeControllerArray = [self.navigationController.viewControllers mutableCopy];
Controller3 myController;
For(int i = 0, i <[activeControllerArray count], i++) {
if([[activeViewController objectAtIndex:i] isKindOfClass:[Controller3 class]) {
myController = [activeViewController objectAtIndex:i];
}
}
今あなたが欲しいのアクションを実行することができますstack-ナビゲーションコントローラにアクセスすることによって、それをアクセスすることができます。
0
NSMutableArray *controllers = [[self.navigationController.viewControllers mutableCopy] autorelease];
ABCController *controller = [controllers objectAtIndex:2]; //ABCController is the name of conroller class
[controller methodName] ;
このアプローチは、私がVIEW1は、VIEW2、...ビュー5は、派生元となる基本クラスを作成することをお勧め
0
動作するはずです。基本クラスには、このメソッドが含まれており、すべてのクラス(view1、view2、...)にアクセスできるようにします。
関連する問題
- 1. 3階層アーキテクチャと2階層アーキテクチャ
- 2. 階層
- 3. 階層
- 4. 階層グリッド
- 5. パンダ階層データフレーム
- 6. 階層データMSSQL2008
- 7. バインディングパス階層
- 8. 階層データタイプ
- 9. cakephpモデル階層
- 10. MVC3の階層
- 11. USB階層ドライバ
- 12. Sitecoreロール階層
- 13. 階層グリッド
- 14. カスタムjQuery階層
- 15. grailsサービス階層
- 16. ワークアイテムの階層
- 17. パイソン:os.walk()階層
- 18. イテレータ階層
- 19. 階層SQLクエリ
- 20. CTE - 逆階層
- 21. Android:階層ビューア
- 22. オブジェクト階層
- 23. デバッグビュー階層は
- 24. コンテナ階層
- 25. 階層のコレクション
- 26. asp.netメンバーシップ階層?
- 27. Automapper:マッピング階層
- 28. スカラコレクション階層
- 29. Drupal階層メニュー
- 30. Drupalローディング階層
呼び出すメソッドは何ですか? –
これはちょうど他のインスタンスメソッドです。 – user1119724
私が釣っているのは、メソッドのスコープです。基本的に、view3のメソッドが複数の場所で必要な一般的なメソッドである場合、おそらくView Controllerに属していないが、いくつかのユーティリティクラスに属している可能性があります。 –