1

まず第一に...私はイタリア人なので、英語が下手でごめんなさい!

だから...これは私のアプリです:私はナビゲーションコントローラーを使用しています:最初のビューには10個のボタンがあり、すべてのボタンは次のような関数を呼び出します:

    [self pushViewController:nameview animated:YES];

別のuiviewcontrollerに!だから私は11のuiviewcontrollerを持っています!すべてのコントローラーはここのようにクリアされます

@interface ...
IBoutlet UIViewController *viewcontroller;
...
@property (nonatomic, retain) IBOutlet UIViewController *viewcontroller;

最後に、私はIBで働いていると言わなければなりません!

私の問題は、私のアプリがメモリを解放しないことです!ビューにいて、「backbuttonitem」(私ではなくIBによって作成された)をタップすると、最後のビューはリリースされません(繰り返しますが、私の悪い英語で申し訳ありません)...そしてユーザーがすべてを見る場合10ビュー、アプリは警告マッサージ(低メモリ)を受け取ります!

popviewcontrollerアクションの前に最後に見たビューを解放するにはどうすればよいですか?

ありがとう

4

1 に答える 1

1

ビューコントローラをナビゲーションコントローラにプッシュするときは、ナビゲーションコントローラがそれを所有しているので、それを解放する必要があります。たとえば、次のようにします。

UIViewController *controller = [[UIViewController] initWithNibName:@"Nib" bundle:nil];
[self pushViewController:controller animated:YES];
[controller release];

次にpopViewControllerAnimated:、ナビゲーションコントローラを使用するときに、ViewControllerがメモリから解放されていることを確認します。

于 2010-06-19T16:35:45.467 に答える