예외 : 인식되지 않은 선택기… 내비게이션 스택에서 뷰 컨트롤러를 푸시하려고 할 때

StackOverflow https://stackoverflow.com/questions/1649663

문제

내 버튼 압박 방법의 다음 코드로 내비게이션 스택에서 뷰 컨트롤러를 푸시하려고합니다.

-(IBAction) viewButtonPressed:(id)sender {

PersonDetailViewController *personDetailViewController = [[PersonDetailViewController alloc] initWithNibName:@"PersonDetailViewController" bundle:nil];
[self.navigationController pushViewController:personDetailViewController animated:YES];
[personDetailViewController release];

}

디버거를 실행했고 팔로우 라인이 위의 코드에서 밟은 후 예외를 던집니다.

[self.navigationController pushViewController:personDetailViewController animated:YES];

이것은 꽤 표준 전화입니다 ... 아무런 문제없이 여러 번 작동했습니다. 내가 여기서 무엇을 놓치고 있는지 아십니까? 나는이 시점에 붙어 있고 더 이상 드릴 수 없다.

디버거를 실행 한 후 콘솔의 오류 메시지는 다음과 같습니다.

2009-10-30 18:15:11.127 Untitled[6089:20b] *-[NSCFString Image] : 인스턴스로 전송 된 인식이없는 선택기 0x3050 2009-10-30 18 : 15 : 11.129 Untitled [6089 : 20B] * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSCFString image]: unrecognized selector sent to instance 0x3050' 2009-10-30 18:15:11.130 Untitled[6089:20b] Stack: ( 807902715, 2460638779 ...

도움이 되었습니까?

해결책

문제는 뒤로 버튼 항목을 잘못 설정하는 Init 메소드 중 하나였습니다.

다른 팁

View 라이프 사이클 방법을 살펴 보는 것으로 시작합니다. viewWillAppear, viewDidAppear 기타 -에서 PersonDetailViewController 이름이 지정된 메소드의 호출을위한 클래스 image 일부 객체 인스턴스에서.

이 호출이 이루어지는 곳을 좁히기 위해 이러한 방법을 밟을 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top