2011-02-04 3 views
2

내 앱에서 아이콘을 설정하기 위해 NSURL에 대한 배열에서 경로 값을 가져 오려고합니다. 나는NSURL 예외

NSInvalidArgumentException NSInvalidArgumentException ', [__ NSArrayI 길이] : 인스턴스 0x5622590로 보낸 인식 할 수없는 선택기를 가져옵니다.

내가 nslog를 사용하는 경우 내가 예상 출력을 얻을 :

NSLog(@"%@",[[wforecast.wicons objectAtIndex:0]valueForKey:@"nodeContent"]); 

나에게 제공합니다

enter image description here

NSURL *urlpath; 

NSString *urls = [[wforecast.wicons objectAtIndex:0] valueForKey:@"nodeContent"]; 

urlpath = [NSURL URLWithString:(NSString *)urls]; 

을 다음과 같이 값을 설정 저는 이에 대해 감사드립니다 는 일을 오래 견딘 방법이지만, 나는 잘못되어 가고있는 것을 발견하기 위해 개별 구성 요소를 해체하려고 노력하고 있었지만, 나는 손실에 처해있다!

+0

어떤 코드 줄이 충돌을 일으키는가? – deanWombourne

답변

6

기본적으로 this other questioner had과 같은 문제가 있습니다. NSString을 전달해야하는 NSString이 아닌 객체를 전달했습니다.

디버거를 사용하여 예외가 발생한 정확한 위치를 확인하십시오. 이 작업을 수행하지 않았다면 내가 보여준 코드가 원인이라는 것을 확신 할 수 없습니다. 디버거는 의심의 여지없이 예외가 발생한 곳을 알려줍니다.

예외가 발생한 위치를 찾으면 전달한 개체를 검사하고 어디에서 가져 왔는지 다시 볼 수 있습니다. 문자열을 검색하는 방법이나 현재 문자열을 가져 오는 위치에 문자열을 저장하는 방법을 수정해야합니다.

+0

NIl을 반환하지 않습니다 – Coasty

+0

@ user596968 : 예외 메시지를 통해 이미 많은 증거가있었습니다. 디버거가 더 알려줄 것입니다. –