私はmodalViewControllerを提示しています。モーダルビューコントローラを次のように閉じた後:
- (void)dismissModalViewControllerAnimated:(BOOL)animated
..ビューはまだメモリ内にあります。メモリを使用するようにそれを却下するにはどうすればよいですか?
ありがとう。
私はmodalViewControllerを提示しています。モーダルビューコントローラを次のように閉じた後:
- (void)dismissModalViewControllerAnimated:(BOOL)animated
..ビューはまだメモリ内にあります。メモリを使用するようにそれを却下するにはどうすればよいですか?
ありがとう。
モーダルビューコントローラを提示するときは、それを解放する必要があります。
私も同じ問題を抱えています。presentModalViewControllerを呼び出してから、allocを解放するまで、一時的にViewControllerを保持しているだけです。しかし、dismissModalViewControllerAnimatedの後、ViewControllerのdeallocを取得することはありません。
ViewControllerから自己解放を追加すると、制御がイベントループに戻った後に次のようになります。
プログラム受信信号:「EXC_BAD_ACCESS」。objc_msgSend
同じ問題を抱えています。私はモーダルに提示するNavigationControllerを持っており、このNavigationControllerのrootControllerとして単純なViewControllerオブジェクトを持っています。まれな状況として、Allocationsを使用してInstrumentsに対してアプリを実行し、modalController(この場合はNavigationController)を閉じた後、NavigationControllerは消えますが、rootControllerはメモリに残り、メモリはどんどん大きくなります。(注:Instrumentsのリークはリークを表示せず、アプリはシミュレーターではなくデバイスで実行されていました)。
モーダルビューコントローラーを提示するときは必ず割り当てますので、割り当てるときはいつでもそれを解放する必要があるというルールがありますので、モーダルビューコントローラーで提示しているビューコントローラーを解放してください。