私は複数のView Controllerを持つアプリケーションを開始しています。一部のビューはナビゲーションコントローラの内部に表示されます。私は、ナビゲーションコントローラを作成し、別のインスタンス化されたビューコントローラを追加することができます。しかし、私がしたいのは、独自のビューを持つビューコントローラをインスタンス化するだけで、ナビゲーションビューコントローラのルートビューコントローラです。だから私は、ビューコントローラをインスタンス化するとき、私はそれがナビゲーションコントローラを作成し、それに "自己"を押したいと思います。私がそれをすると、私のシミュレータがクラッシュし、詳細が本当に理由を与えない。コンソールに何も表示されません。何か案は。私の理由は、単純にナビゲーションコントローラを作成した後、別のビューコントローラをルートビューコントローラとしてプッシュするビューコントローラを持たずにロジックを分離するためです。UIViewControllerがUINavigationControllerに自分自身を追加することができます
0
A
答えて
3
私はあなたの質問を正しく理解しているかどうか完全にはわかりません。ビューコントローラがナビゲーションコントローラにプッシュした場合、なぜそれが望ましいのでしょうか?とにかく、コード内のある時点(いずれかのアプリケーションデリゲートまたは別のビューコントローラ)でView Controllerをインスタンス化する必要があります。なぜあなたはそこにナビゲーションコントローラを作成し、あなたのVCをインスタンス化し、それをnavコントローラに押し込むことができませんか?私が見る限り、これは追加のView Controllerを作成することを含まない。
とにかく、使用されている場所(つまりプッシュされている)でビューコントローラを決定することはベストプラクティスではありません。この方法では、他のコンテキストで柔軟に使用できなくなります。できるだけゆるやかにコンポーネントを結合してみてください。
関連する問題
- 1. Makefileが自分自身をターゲットとして追加する
- 2. 自分自身にdata.frameを追加できますか?
- 3. Cufonがすべてに自分自身を追加する
- 4. Tkinterフレームがメインウィンドウに自分自身を追加する
- 5. javascriptで乱数を自分自身に追加する
- 6. オブジェクトは自分自身を破壊することができますか? (Java)
- 7. Leaflet.jsのベースマッププロバイダとして自分自身を追加する
- 8. 自分自身をSQL Serverに追加するには?
- 9. なぜこのPHPオブジェクトはアイテムを自分自身に追加しますか?
- 10. フラグメンテーションと自分自身でのアクティビティの追加
- 11. UIViewController内にUINavigationControllerを追加します。
- 12. Signature Verifierが自分自身でチェックするとfalseを返す
- 13. 自分自身にポストリクエストを送信するときにフラスコがハングアップする
- 14. 自分自身
- 15. 自分自身でNSDictionaryに追加されたNSNumbersをリリースする必要がありますか?
- 16. リロード時にJSONインデックスが0から始まるのではなく、自分自身に追加されます
- 17. どのようにvdhlコードを自分自身にテキストを追加する
- 18. GitHubページに自分自身のjekyllテーマを追加するには?
- 19. 自分自身にテーブルを結合するときのエラー
- 20. コンストラクタは自分自身を呼び出すことはできませんC#
- 21. Ag-grid fullWidthCellRendererFramework自分自身のプロパティを追加
- 22. 「File's Owner」に「view」アウトレットがあるのはなぜですか?自分自身を追加することはできますか?
- 23. オブジェクトがデータソースに自分自身を追加する方法を知っていますか?
- 24. SqlAlchemyのオブジェクトの永続性 - データベースに自分自身を追加する
- 25. C#:クラスメソッドが自分自身を返すようにする
- 26. オブジェクトは自分自身を置き換えることは法的ですか?
- 27. PHP CLIスクリプトがフォークせずに自分自身を呼び出すことはできますか?
- 28. ポップアップが自分自身を再配置することを決定したときに検出する/
- 29. 自分自身にテーブルに参加する
- 30. 自分自身でJavaをコンパイルできますか?
私はあなたのポイントを見ます。私はちょうど私のアプリケーションを開始していると私のアイデアは、別のビューコントローラがこのビューコントローラを使用するために、それをインスタンス化することができ、それがナビゲーションコントローラになければならないかどうかのロジックは、 私は複数のView Controllerをどのように管理し、どのように対話するかをハッシュアウトしようとしています。ナビゲーションコントローラー、タブコントローラーなどを使用する基本的なこと以外に、これをカバーする多くの文書を見つけることができませんでした。 – Brian
まあ、私が言及して忘れた別のポイント:あなたのナビゲーションコントローラは、何らかの親を所有していなければなりません。それはタブバーコントローラに追加されるか、アプリケーションデリゲートのメインビューコントローラとしてインスタンス化されるか、モーダルビューコントローラとして他のビューコントローラにプッシュされます。あなたのサブビューコントローラはそれをどうするのですか?誰がナビゲーションコントローラ(メモリ管理)を所有しますか? –
"私のアイデアは、別のView Controllerがこのビューコントローラを使用するために、インスタンス化するだけで、ナビゲーションコントローラになければならないかどうかのロジックが親に透過的になるということでした」 - >これはこの場合、親はサブビューコントローラではなくナビゲーションコントローラを表示する必要があるからです。 –