2009-11-23 3 views
0

앱 설명 : UIWebview와 툴바가 있습니다. 도구 모음의 단추는 모달 테이블보기를 가져와야하지만 그렇지 않습니다. 이전iPhone ModalViewController 테이블보기 용으로 단추로 열기?

:

도구 모음에는 네 개의 버튼을 가지고 이전 사이트로 이동합니다

다음 : 다음 사이트 (두 기본값이 아닌 다른 것을 goForward 및 GoBack을 방법)

메뉴로 이동합니다 : 사용 가능한 모든 사이트의 TableView가있는 modalViewController 표시 (사이트는 다음 및 이전 단추가 순환하는 일련의 사이트 링크로 제한됩니다)

새로 고침 : 현재 사이트 새로 고침

응용 프로그램은 네 가지 주요 클래스/파일있다

WebAppDelegate.h와하는 .m

의 XIB에서 테이블 뷰와 테이블을 채우기 위해 코드가 ListViewController.h하고하는 .m (.m /는 모달 뷰 컨트롤러 임)

경고가 하나 뿐이지 만 오류는 없습니다.

경고 : 'WebAppDelegate이'에 repsond하지 않을 수 있습니다 '-presentModalViewController : 애니메이션 :'

내가 프로그램을 실행할 때 나는 메뉴 버튼을 클릭 할 때까지, 모든 것이 괜찮습니다. 나는

다음
[WebAppDelegate presentModalViewController:animated:]: unrecognized selector sent to instance 

가 WebAppDelegate.m

-(IBAction)menu:(id)sender { 
ListViewController *aListView=[[ListViewController alloc] initWithNibName:@"ListViewController" bundle:[NSBundle mainBundle]]; 
[self setListController:aListView]; 
aListView.modalTransitionStyle=UIModalTransitionStyleCoverVertical; 
[self presentModalViewController:aListView animated:YES]; 
[aListView release]; 
} 

응용 프로그램을 원인이 무엇에 어떤 아이디어를 현재의 메뉴 버튼에 대한 코드, 충돌하고 왜이다이 런타임 오류를받을 모달 테이블보기가 표시되지 않습니까?

답변

4

오류 메시지는 문제가 무엇인지 정확하게 알려줍니다. 선택기에 응답하지 않는 개체에 선택기를 보냅니다. 아마 NSObject의 서브 클래스,하지의 UIViewController입니다 WebAppDelegate의 인스턴스에서이 경우

[self presentModalViewController:aListView animated:YES]; 

self. presentModalViewController:animated:은 UIViewController에 대한 메서드이므로 다른보기 컨트롤러를 모달로 표시하려면 현재 표시된보기 컨트롤러 (또는 탐색 컨트롤러)로 해당 메시지를 보내야합니다.

컴파일러 경고를 무시하지 말라 - 당신이 경고 일 가능성이 당신에게 말하고 그 ... 다시, 정확히 문제

'WebAppDelegate' may not respond to '-presentModalViewController:animated:' 

을 ....

1
[self.navigationController presentModalViewController:aListView animated:YES]; 
+1

어디서 그가 내비게이션 컨트롤러를 가지고 있는지 분명히하지 않습니다.무엇이든, 나는 그가 1 개가다는 것을 내기하지 않을 텐데, 완전하게 설명되지 않기 때문에 혼동 될 수있는 응답을주는 것을 돕지 않는다. –

+0

새로운 런타임 오류 (컴파일 타임 오류 또는 경고 없음)가 발생했습니다 : "캐치되지 않은 예외로 인해 응용 프로그램이 종료되었습니다 'NSInternalInconsistencyException', 이유 : '- [UITableViewController loadView]가"ListViewController "펜촉을로드했지만 수행하지 못했습니다. UITableView를 가져 오지 마십시오. ' " Table View 코드에 문제가 있습니다. 적어도 진행 중입니다. – LoganFrederick

+0

SBrocket은 내비게이션 컨트롤러가 없습니다. self.listController를 사용했는데 여전히 잘못된 접근 방법 일 수 있습니다. – LoganFrederick

관련 문제