私のアプリでは、通常、私はこのrootVCに他のVCを継承させることがあります。だから、私はこのルートの複数のインスタンスを持っていることに私に来た。私はいくつかのビューの設定を行うことができます私のRootViewController
から次にSplashViewController
継承RootViewControllerを作成して他のすべてのVCと継承するのは良い方法ですか?
let window = UIWindow(frame: UIScreen.main.bounds)
let root = SplashViewController(nibName: "SplashViewController", bundle: nil)
window.rootViewController = UINavigationController(rootViewController: root)
window.makeKeyAndVisible()
self.window = window
:たとえば、AppDelegate
に私は私の最初のビューを呼び出します。しかし、私のルートから継承する別のVC(InitialViewController
のようなもの)を呼び出すと、私のルートから新しいインスタンスを作成しているか、同じものを使用していますか? それは良い習慣だと思いますか?
私は読書と検索が、私は見つけるか、APIリファレンスでは明確に理解することができませんでした。https://developer.apple.com/reference/uikit/uiviewcontroller
どんな提案を?前もって感謝します!
は@werediverありがとうございます!実際に私は構成について聞いたことがないと思う(または、おそらく使用されていたが、知らなかった)。だから、私が受け継いでくれる母クラスは、どんな種類ですか? UIViewController? (できなかった、そう?)。そのルート(私は使用してきたが、このプリンシパルについては考えたことがない)を安全にするために、私は静的を使用できませんか?静的ではないインスタンス化は1つだけですか?私の心配は、最初に作成されたものを呼び出す以外に毎回ルートをインスタンス化することです(メモリリークを生成する)。もし私が明確でないなら、ここに限定して申し訳ありません。 – Gehlen
@Gehlenの構成と継承はOOPの重要な概念ですので、試してみてください:)継承ツリーは 'UIViewController'のように任意の深さにすることができます - > 'MyBaseViewController' - >' SettingsScreenViewController'を実行します。 'SettingsScreenViewController'の各インスタンスは' MyBaseViewController'と 'MyBaseViewController'をすべて持ちますが、これはリークではなく、仕様です。これは、 'SettingsScreenViewController'の各インスタンスが独立して動作することを可能にします。 – werediver
ニース@werediver!私のコンセプトは間違っていたので、構図を見てみましょう。再度、感謝します! – Gehlen