-4

こんにちは、私はアプリケーションを作成し、シミュレーターで実行し、iPhone は正常に動作し、それを alnalize してメモリ リークを取り除きます。

しかし、今日、2番目のビューに行くときにシミュレーターでアプリを実行しましたが、ビューは正常に表示されますが、2番目のビューに戻ると、メッセージを表示せずにクラッシュします...

悪いエクセスですか?そうは思わない...

4

3 に答える 3

0

わかりました、これを試してください

ここで appDelegate オブジェクトを解放しないでください。アプリ全体の共有コピーです。super dealloc の前にすべてのオブジェクトを解放します。

- (void)dealloc {  
//[appDelegate release];//here crash 
[staticImageDictionary release];
 [siteData release]; 
[newdata release]; 
[connection release]; 
[webData release];
 [activity release]; 
[super dealloc];
} 
于 2011-02-18T06:10:57.613 に答える
0

MKMapView のデリゲートを持つビューコントローラーをリリースしていると思いますが、MKMapView デリゲートを持つビューコントローラーを解放しないでください。メモリリークを修正していたときにそのデリゲートを解放したと思います

于 2011-02-18T06:04:59.973 に答える
0

Objective C では、通常、dealloc メソッドで既に "release" されているオブジェクトを実現すると、不適切な超過が表示されます。どのオブジェクトがすでにリリースされているかを追跡するには、NSZombieEnabledを使用します。

于 2011-02-18T06:12:24.517 に答える