0

私は、カテゴリ(その中にテーブルビューコントローラ)とテーブルビューの行の情報を表示するWebビューを持つ詳細ビューを持つiPadアプリを持っています。

カテゴリ テーブル ビューの didSelectRowAtIndexPath 関数で、コードを次のように使用しています。

DetayViewController *dvc = [[DetayViewController alloc] init];
Blog *b = (Blog *)[self.blogArray objectAtIndex:indexPath.row];
dvc.cagirilanBlog = b;
[self presentModalViewController:dvc animated:YES];

これはうまくいきます。しかし、アプリを使用しているときに、テーブル ビューで行をクリックして詳細ページを開いて閉じる操作を 30 回ほど繰り返すと、アプリケーションがクラッシュして終了します。

アプリがクラッシュしたときに表示される警告は次のようなものです。

**Received memory warning. Level=1**

**Received memory warning. Level=2**

**Program received signal:  “0”.
Data Formatters temporarily unavailable, will re-try after a 'continue'. (Unknown error loading shared library "/Developer/usr/lib/libXcodeDebuggerSupport.dylib")**

モーダル ビュー コントローラーを閉じると、詳細ビ​​ューで使用したすべてのオブジェクトが解放されます。しかし、私が解決できない問題は、なぜクラッシュするのですか? それはバグですか?presentModalViewController を 30 回以上使用できませんか?

私を助けてください。

ありがとう。

4

1 に答える 1

3

使用したリソースを解放する必要があります (各メモリ割り当てを解放する必要があります)。

あなたの場合:

[dvc release]

(そうしないと、dealloc メソッドで解放したすべてのオブジェクトが呼び出されません!)

Xcode で提供される Leak パフォーマンス ツールを使用することもできます。(メモリリークの検出に非常に役立ちます)

このドキュメントを読む必要があります: http://developer.apple.com/library/ios/#documentation/cocoa/Conceptual/MemoryMgmt/MemoryMgmt.html

于 2010-10-10T19:34:26.303 に答える