UITextField内存泄漏

时间:2009-11-07 01:06:28

标签: iphone iphone-sdk-3.0 memory-leaks uitextfield

在我的代码中,当我要在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?感谢

4 个答案:

答案 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时记住这一点(没有