2

私はmodalViewControllerを提示しています。モーダルビューコントローラを次のように閉じた後:

- (void)dismissModalViewControllerAnimated:(BOOL)animated

..ビューはまだメモリ内にあります。メモリを使用するようにそれを却下するにはどうすればよいですか?

ありがとう。

4

4 に答える 4

0

モーダルビューコントローラを提示するときは、それを解放する必要があります。

于 2010-04-25T14:06:31.003 に答える
0

私も同じ問題を抱えています。presentModalViewControllerを呼び出してから、allocを解放するまで、一時的にViewControllerを保持しているだけです。しかし、dismissModalViewControllerAnimatedの後、ViewControllerのdeallocを取得することはありません。

ViewControllerから自己解放を追加すると、制御がイベントループに戻った後に次のようになります。

プログラム受信信号:「EXC_BAD_ACCESS」。objc_msgSend

于 2010-10-29T08:51:57.447 に答える
0

同じ問題を抱えています。私はモーダルに提示するNavigationControllerを持っており、このNavigationControllerのrootControllerとして単純なViewControllerオブジェクトを持っています。まれな状況として、Allocationsを使用してInstrumentsに対してアプリを実行し、modalController(この場合はNavigationController)を閉じた後、NavigationControllerは消えますが、rootControllerはメモリに残り、メモリはどんどん大きくなります。(注:Instrumentsのリークはリークを表示せず、アプリはシミュレーターではなくデバイスで実行されていました)。

于 2010-11-08T19:19:17.097 に答える
0

モーダルビューコントローラーを提示するときは必ず割り当てますので、割り当てるときはいつでもそれを解放する必要があるというルールがありますので、モーダルビューコントローラーで提示しているビューコントローラーを解放してください。

于 2012-10-11T04:44:24.217 に答える