在我的代码中,当我要在UITextField中输入值时,第一次出现键盘时会出现内存泄漏。有人可以请你对此有所了解。
在接口文件
中IBOutlet UITextField *userEmail;
@property (nonatomic, retain) IBOutlet UITextField *userEmail;
实施档案
@synthesize userEmail;
- (void)dealloc
{
[userEmail release];
}
- (void)viewDidUnload
{
self.userEmail = nil;
}
-(IBAction) emailOver:(id)sender{
[sender resignFirstResponder];
}
在其中一个函数NSLog(@"User Email: %@",[userEmail text]);
第一次出现键盘时发生内存泄漏我是否实现了UITextFieldDelegate?感谢
答案 0 :(得分:2)
考虑到iPhone模拟器中存在一个错误:如果你编写一个几乎为空的项目,只在XIB中放置一个UITextField,而没有代码,当你点击UITextField时就会出现漏洞。相反,如果您尝试在设备上构建并运行,则不会发生泄漏。所以这可能是你的情况!!试一试,让我们知道..
答案 1 :(得分:1)
一个问题是你的dealloc方法缺少MANDATORY [super dealloc]行。
- (void)dealloc
{
[userEmail release];
[super dealloc];
}
答案 2 :(得分:0)
您不需要两次定义IBOutlet。一个或另一个应该做。
UITextField *userEmail;
@property (nonatomic, retain) IBOutlet UITextField *userEmail;
我的代码中没有其他任何可能导致问题的内容。您在@implementation文件中还有哪些其他方法。
答案 3 :(得分:0)
我认为你是对的。使用一个非常简单的测试项目我运行监控工具 - >泄漏,一旦我点击UITextField,就会出现持续上升的内存泄漏。
我现在会忘记这一点并在下次使用UITextField时记住这一点(没有