2010-12-14 3 views
1

iOS 프로그래밍을 처음 사용하며 탐색 컨트롤러에 어려움을 겪고 있습니다. 항목을 선택하면 상세보기를 보여주는 테이블보기가 있습니다. '뒤로'버튼이 세부 정보 상단에 올바르게 나타나므로 모두 정상입니다.두 번째보기의 세부 단추

이제 자세히보기에 버튼을 추가하여 웹 사이트에 연결하고 싶습니다. 그래서 네비게이션 컨트롤러에 버튼을 추가하려고했습니다. 먼저 IB에서 해봤지만, 그렇게하면 첫 번째보기에만 나타나고 자세히보기에서 사라집니다 (세부보기에서 만 보길 원합니다).

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(viewlink:)]; 

버튼이 나타납니다, 나는 기능 추가 :

가 그럼 난 코드로 시도 (viedDidLoad에 detailviewcontroller에 추가

-(void)viewLink:(id)sender { 
NSLog(@"Went to view 2"); 
} 

을하지만 응용 프로그램을 실행할 때 내가 얻을 많이 인용 된 "- [ItemDetailViewController viewlink :] : 인스턴스 0x8a13cb0로 전송 된 인식 할 수없는 선택기"

나는이 문제에 지금까지 몇 시간을 보내고 정말 간단한 것처럼 보이는 것처럼 내 머리카락을 꺼내므로 기본적인 잘못을해야합니다.

+0

그냥 두 번 확인 - .h 파일에'- (void) viewLink : (id) sender;'가 있습니까? – Eric

답변

0

오류 메시지에서 "viewlink :"(소문자 l)이지만 메서드 이름은 viewLink : (대문자 L)입니다.

해당 메서드를 호출 할 때 대/소문자를 구분하므로 동일한 대/소문자를 정확하게 사용해야합니다.

런타임 오류가 아니라 컴파일러에서 "ItemDetailViewController '가 -viewlink :에 응답하지 않을 수도 있다는 경고 메시지가 표시되어야합니다. 모든 경고를보고 해결하십시오.

구문 형광펜은 잘못된 점이 있음을 나타냅니다. 인식 할 수없는 방법은 검은 색으로 표시되지만 인식 된 방법은 연한 파란색으로 표시됩니다.

+0

나는 그것이 작은 어리석은 실수 였을 까봐 두려웠다. 수치스러운 점은 .h 파일에 함수를 추가하고 자본을 변경하면 문제가 해결된다고 말했다. 그가 도와 줘서 고마워. –

관련 문제