0

私のプロジェクトに問題があります。

「Menu」UIViewControllerクラスがあり、dealloc関数が呼び出されることはありません。ほとんどのUIはInterfaceBuilderで追加され、IBOutletはありません。

Deallocが呼び出されていない場合、どうすればメモリを解放できますか?


メモリ警告をシミュレートしたところ、dealloc関数が呼び出されました。

これが私のコードの例です:

//first.m
- (void) onButton
{ second *modalView = [[second alloc] init];
[self presentModalViewController:modalView animated:YES];
[modalView release];}

それで、私が2番目の画面にいて、メモリ警告をシミュレートするとき、ファーストクラスからのdeallocを起動する必要がありますか?

とにかく、私のアプリケーションでは、deallocは:(と呼ばれていません。

4

2 に答える 2

1

シミュレータで[ハードウェア]->[メモリ警告のシミュレーション]オプションを試して、-deallocが呼び出されているかどうかを確認できます。

于 2011-02-26T01:59:41.383 に答える
0

Interface Builderは、メモリの警告が出るまで、またはキャッシュを使い果たすまで、ペン先をキャッシュします。そのようなとき、それはそれが使用していたすべてのメモリを再利用します。

于 2011-02-26T01:02:03.800 に答える