2009-11-07 4 views
1

내 코드에서 UITextField에 값을 입력하려고 할 때 키보드가 처음 나타날 때 메모리 누수가 있습니다. 누군가 나에게 이것에 대해 어떤 생각을 해줄 수 있습니까? 키보드가 나는 UITextFieldDelegate를 구현 한 마십시오 처음 나타날 때 NSLog(@"User Email: %@",[userEmail text]); 메모리 누수가 발생 기능 중 하나에서 인터페이스 파일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]; 
} 

에서

? 감사합니다.

+1

는 언제나처럼, 당신의 코드를하시기 바랍니다 보여주지 지금은이를 잊고 마음에 나는의 UITextField를 사용하고 다음에 그것을하겠습니다 –

+0

을 인터페이스 파일 함께 IBOutlet의 UITextField * USEREMAIL에서;. 을 @property (비 원자, 유지) 함께 IBOutlet의 UITextField * USEREMAIL 단계; 구현 파일 @synthesize USEREMAIL; - (무효) 할당 해제 { [USEREMAIL 릴리스] } - (무효) viewDidUnload { \t self.userEmail = 없음, } - (IBAction) emailOver : (id) 보낸 사람 { \t [발신자 resignFirstResponder]; } 기능 중 하나 있음 NSLog (@ "사용자 이메일 : % @", [userEmail 텍스트]); 키보드가 처음으로 나타날 때 메모리 누수가 발생합니다. UITextFieldDelegate를 구현 했습니까? 감사합니다. – felix

+1

스티브, 원래 게시물을 대신 수정해야합니다. 코드를 주석에 넣으면 읽는 것이 매우 어렵습니다. –

답변

0

두 번 정의 된 IBOutlet이 필요하지 않습니다. 둘 중 하나가해야합니다.

UITextField *userEmail; 

@property (nonatomic, retain) IBOutlet UITextField *userEmail; 

문제가되는 코드가 표시되지 않습니다. @implementation 파일에 어떤 다른 방법이 있습니까?

1

dealloc 메소드에 필수 [super dealloc] 행이 누락되었습니다.

- (void)dealloc 
{ 
    [userEmail release]; 
    [super dealloc]; 
} 
2

아이폰 시뮬레이터에서 문제가 있음을 생각해 보면 XIB에서 만의 UITextField를 가하고, 거의 빈 프로젝트를 작성하는 경우, 당신은의 UITextField에 탭하면 더 코드, 당신은 누수가없는 것입니다. 반대로 장치를 만들고 실행하려고하면 누출이 발생하지 않습니다. 그래서 그것은 당신의 경우일지도 모른다 !! 시도해보고 알려주세요.

0

나는 당신이 바로 카프로 스키라고 생각합니다. 모니터링 도구 -> 누출과 함께 실행 한 매우 간단한 테스트 프로젝트를 사용하여 UITextField를 클릭하자마자 지속적으로 메모리 누수가 발생합니다.

나는 (더