はじめまして。
swiftの画面の解放について、よく分からないので教えて下さい。
具体的なソースコードはありません。
今回PUSH通知を実装するのですが、PUSH通知を受け取った時に、PUSH通知の内容に合う画面を表示したいと思っています。
前提条件として、ソースはすべてコードで記載、画面遷移はUINavigationControllerのpushViewControllerを使用しています。
ユーザがTOP画面、そこからA→B→Cの画面へと遷移していたとします。
その後、PUSH通知から起動する時に、一旦TOPへ戻り、D画面へと進みたい場合、popToRootViewControllerでTOPに戻ろうと思うのですが、その際にAとBの画面が解放されない事が気になります。
(回答者様からのご指摘で追記)TOP→A→B→Cと遷移しますが、ユーザの操作で逆向きに戻る仕様(popViewControllerで戻る)になっているため、A→B、またはB→Cでの遷移の際にAやBのDisappearは呼んでいません(UIは解放していません)。
情報が古いのかもしれないのですが、画面を閉じる際はメモリリークが心配なため、addsubViewしたUIをすべてremoveFromSuperviewしています。
しかし、最新のswiftでは解放などの考えは不要でしょうか?それともpopToRootViewControllerをした場合、すべて解放などもされるようになっている
のでしょうか?
ちなみに、CはviewWillDisappearが呼ばれ、removeFromSuperviewが可能ですが、
AとBの画面はviewWillDisappearは呼ばれません。
どなたか、このあたりの事に詳しい方がいらっしゃいましたら、教えて頂けると助かります。よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー