2012-12-11 5 views
0

누군가가이 문제를 해결할 수 있기를 바랍니다.IOS 6 ARC 인식 할 수없는 셀렉터 인스턴스로 전송

저는 UITableViewController가 있고, tablecell이 선택되면 NewsArticleViewController라는 UIViewController에 값을 전달하려고합니다. 나는 View Controller에서 View Controller로 segue를 만들었습니다. 오류가 마지막 줄에 발생하기 전에

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if([[segue identifier] isEqualToString:@"ShowNewsArticle"]) 
    { 
     NSIndexPath *indexPath = [self._tableView indexPathForSelectedRow]; 
     NSDictionary *article = [_articles objectAtIndex:indexPath.row]; 
     NSString *articleID = [article valueForKey:@"id"]; 
     NSLog(@"Trying %@", articleID); 

     NewsArticleViewController *detailViewController = [segue destinationViewController]; 
     detailViewController.articleID = articleID; 
    } 
} 

NSLog 올바르게있는 NSString 값을 보여줍니다

내가 아래에있는 내 prepareForSegue 메소드를 호출

.

내가 오류 얻을 :

@property(strong,nonatomic) id articleID; 

을 그리고 방법의 속성을 합성 한 : 대상 뷰 컨트롤러에서

2012-12-11 23:08:41.915 My School[4689:c07] -[UIViewController setArticleID:]: unrecognized selector sent to instance 0x8088140 
2012-12-11 23:08:41.916 My School[4689:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIViewController setArticleID:]: unrecognized selector sent to instance 0x8088140' 
*** First throw call stack: 
(0x1800012 0x11c5e7e 0x188b4bd 0x17efbbc 0x17ef94e 0x3ca1 0x554ac7 0x554b54 0x1bc899 0x1bcb3d 0xbc3e83 0x17bf376 0x17bee06 0x17a6a82 0x17a5f44 0x17a5e1b 0x1cc87e3 0x1cc8668 0x10d65c 0x1f4d 0x1e75 0x1) 
libc++abi.dylib: terminate called throwing an exception 

을 NewsArticleViewController, 나는 헤더에이 선언했다. 나는 ARC를 사용하고 있는데 이것이 구체적인 원인인지는 모르겠지만 이것을 정리할 때까지는 진행할 수 없다. 감사.

+3

당신은 destinationViewController가 NewsArticleViewController를 리턴하고 있습니까? – combinatorial

+0

디버거 명령 프롬프트 (lldb 또는 gdb)에서 "po [0x8088140 class]"를 입력하고 Enter 키를 누릅니다. 예외를 제외하고 0x8088140을 오류 문자열 끝에있는 포인터로 교체하십시오. 인스턴스 0x8088140 '. 어떤 클래스가 있는지 알려 주시기 바랍니다. 내 생각 엔 대상 뷰 컨트롤러는 실제로 NewsArticleViewController 인스턴스가 아닙니다. – Bergasms

+0

아마 UINavigationController이고 NewsArticleViewController가 아닙니다. –

답변

2

오류 메시지에서 UIViewController이 "인식 할 수없는 선택기"오류를보고하고 있습니다. 스토리 보드에서이 장면의 사용자 정의 NewsArticleViewController을 지정하지 않았다고 의심됩니다. 따라서, setArticleID을 분명히 이해하지 못하는 기본값 인 UIViewController을 사용하고 있습니다.

확인 인터페이스 빌더에서 뷰 컨트롤러 설정을 "사용자 정의 클래스"사용자 정의 클래스를 지정하지 않은 경우

enter image description here

, 그것은 위의 스크린 샷과 같이 표시됩니다. 클래스 이름을 채우십시오.

+1

Face Palm. 당신의 도움에 너무나 감사드립니다. 피곤한 남자를 행복하게 만들었습니다. :) – Knotty

관련 문제