2016-05-30 1 views
1

私はウェブ全体を検索していますが、これに対する答えを見つけることはできません。viewControllerを閉じずに呼び出すと、2番目のインスタンスが作成されますか?

現在、私はpresentViewControllerを使用して新しいViewControllerを開始していますが、特定のView Controllerではそれを閉じずに呼び出します。私は現在、ナビゲーションコントローラなどを使用していません。

私は、同じviewControllerをpresentViewController経由で再度呼び出すと、同じviewControllerが2つの実行中のインスタンスを持つことに気になります。

可能ですか?または、iOSフレームワークは自動的にアイドル状態のviewControllerを再利用しますか?

もしそうなら、アイドルビューコントローラを削除するにはどうすればよいですか?

ありがとうございました! (私は私の質問を控えていて、ウェブ全体で見つけようとしていたので、正しい方向で私を指すことができれば、非常に助けになりました!)

答えて

1

iOSはあなたのView Controllerを再利用しません。 ViewDidLoadにView Controllerを印刷することで簡単に確認できます。まず、viewDidLoadが毎回呼び出され、次にすべてのオブジェクトが異なるアドレスを持つことに気づくでしょう。

あなたが何千も作成していないか、あなたのアプリのナビゲーションが「アイドル」ビューコントローラに戻ってこない場合、私はこれが問題だとは言いません。 "dismiss"を呼び出さずにメモリからView Controllerを削除するためのきれいな方法はありません。あなたは次のことを試みることができます:
- 新しいデータであなたのビューをリフレッシュしてください。
- アプリのワークフローでこの種の動作が許可されている場合は、UIPageViewControllerのようなものを使用してください。
- あなたは

別の1つの

幸運を呼ぶ前に、ビューを閉じることができるようにナビゲーションを手直し

関連する問題