我试图找出在界面构建器中创建UIButton的原因 - 在xcode运行instrument应用程序时发生内存泄漏。
这就是我创建内存泄漏的方法。
我打开了一个新的应用程序,在界面构建器中打开了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
以下是我在乐器中获得的内容的屏幕截图。
然而我注意到的一件事......
我还没有在界面构建器中将Outlet连接到uibutton,但是当我从界面构建器中删除UIButton时,保存,然后再次使用乐器运行程序,我根本没有任何泄漏。< / p>
有人可以解释一下发生了什么以及如何解决这个问题。谢谢。
答案 0 :(得分:2)
[tasksProjects release];
并且在viewDidUnload中,您应该self.taskProjects = nil;