2011-08-29 7 views
0
-(void) addBookmarkTapped:(id)sender { 
    BookmarkAddViewController *bookmarkAddViewController = 
    [[BookmarkAddViewController alloc] initWithName:currTitle link:self.addressBar.text]; 
    [self presentModalViewController:bookmarkAddViewController animated:YES]; 
    [bookmarkAddViewController release]; 
}     

위의 코드는 주 컨트롤러로 돌아갈 때 'EXC_BAD_ACCESS'를 발생시킵니다. bookmarkAddViewController 'autorelease'를 만들면 같은 오류가 발생합니다.presentModalViewController 메모리 누출 또는

릴리스를 제거해도 충돌은 발생하지 않지만 메모리 누수가 발생합니까? [bookmarkAddViewController release];

동일한 방법으로 많은 예제를 볼 수 있습니다. 왜 제 경우에는 작동하지 않습니까?

+0

게시 한 코드가 정상적으로 보입니다. 아마 다른 곳에서 코드 오류가 발생했을 수 있습니다. – Anomie

답변

0

초기화 방법은 bookmarkAddViewController입니다. (게시하십시오.) [self dismissModalViewControllerAnimated:YES];으로 컨트롤러를 올바르게 종료하십시오.

+0

- (id) initWithName : (NSString *) 링크 { if ((self = [[BookmarkAddViewController alloc] initWithNibName : @ "BookmarkAddViewController"번들 : nil]) { self.bmName = name ; self.bmUrl = link; return self; } return (id) -1; } 감사합니다 Mundi, 원인을 찾을 수 있도록 도와 주셨습니다. 그것은 내 init 메서드에서 인스턴스 변수를 잘못 설정했습니다. "bmName = name; bmUrl = link; – Espina