インターフェイスビルダーでUIButtonを作成するときにxcodeで計測器アプリケーションを実行しているときにメモリリークが発生する理由を調べようとしています。
これが私がメモリリークを作成した方法です。
新しいアプリケーションを開き、インターフェイスビルダーにmyAppViewController.xibファイルを開きました。 私は背景を黒に変えました。 UIButtonを追加し、タイトルを "foo"に変更しました。 保存して終了します。
myAppViewController.hファイルには次のものがあります
#import <UIKit/UIKit.h>
@interface miPlanNewViewController : UIViewController {
IBOutlet UIButton *tasksProjects;
}
@property(nonatomic, retain) IBOutlet UIButton *tasksProjects;
@end
myAppViewController.mファイルには次のものがあります:
#import "miPlanNewViewController.h"
@implementation miPlanNewViewController
@synthesize tasksProjects;
...
//the normal methods you get
...
- (void)dealloc {
[super dealloc];
}
@end
ここで私が現時点で楽器で何を得ているかのスクリーンショットがあります。
しかし私が気づく一つのこと....
アウトレットをuibuttonに接続していないインターフェイスビルダーでは、しかし、私はインターフェイスビルダーからUIButtonを削除し、保存し、再度楽器でプログラムを実行すると、私はまったくリークの種類を取得しないでください。
誰かが何が起きているのか、どうすればこの問題を解決できるのか説明してください。ありがとうございました。
回答:
回答№1は2- まず、あなたはその物件を解放していません。 あなたはdeallocで
[tasksProjects release];
あなたはviewDidUnloadにself.taskProjects = nil;
- 次に、メモリリークチェックのためにシミュレータを使用すべきではありません。
- 第3に、デバッグしないリリースをビルドしていることを確認します。