2013-03-21 5 views
0

XML 데이터에서 비디오 파일을로드하는 NSArray가 있습니다. 배열 항목을 누르면 NSString URL을로드해야하는 버튼이있는보기가로드됩니다. 여기에 내가 작업하고있는 코드가있다.호환되지 않는 포인터 - URL의 MPMoviePlayer

-(IBAction)playMovie:(id)sender 
    { 
     RSSItem* item = (RSSItem*)self.description; 
     NSURL *movieUrl = [NSURL URLWithString: item]; 
     MPMoviePlayerController *moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:movieUrl]; 
     [self.view addSubview:moviePlayerController.view]; 
     moviePlayerController.fullscreen = YES; 
     [moviePlayerController play]; 
    } 

내가 경고를 얻고있다 "전송 호환되지 않는 포인터 타입 'RSSItem *이 _strong'내가 생각할 수 '는 NSString *'

내가 시도 모든 유형의 매개 변수는 문자열로 문자열을 변환하는 그것은 일을하세요.이 질문은 포럼에 너무 특정 또는 기본 경우 알려 주시기 바랍니다.

감사합니다!

+0

'RSSItem'이란 무엇입니까? –

답변

1

이 :

RSSItem* item = (RSSItem*)self.description;

이 있어야한다 :

NSString* item = self.description;

코드에서 위의 라인은 수수께끼와 골치 아프다. description (시작하려면 NSString)을 RSSItem 번으로 캐스팅하려고하는 이유는 무엇입니까?

+0

경고가 수정되었습니다. 아직 URL을 전달하는 데 문제가 있습니다.하지만 그렇게하기 전에 내 프로젝트가 진행되고 있는지 알아야합니다. 데이터를 전달하는 데별로 좋지 않으며 XML 피드를 구문 분석하기 위해 RaptureXML을 사용하므로 데이터의 개별 문자열을 추출하는 방법을 알아야합니다. 도와 주셔서 감사합니다! –

+0

@rmaddy가 말한 것에주의를 기울이십시오! – borrrden

+0

이제 다른 속성 (NSURL)을로드하도록 전환했으며 이제 NSLog는 NSURL에 대해 null을 반환합니다. NSURL * item = self.link; MPMoviePlayerController * moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL : item]; [self.view addSubview : moviePlayerController.view]; NSLog (@ "url = % @", item); moviePlayerController.fullscreen = YES; [moviePlayerController play]; ' 여기에 아무 것도 보이지 않거나 제작되는 인스턴스에서 문제가 발생합니까? –

1

NSURL URLWithString: 방법은 유형 NSString의 매개 변수를 기대하고있다.하지만 일부 해제를 전달하는 알려진 RSSItem 개체. NSString을 전달해야합니다.

self.descriptionRSSItem으로 전송하고 있습니까? description 방법은 NSObject의 표준 방법입니다. NSString을 반환합니다.

description 메서드를 클래스에 추가했다면 실제로 이름을 바꾸어야합니다. description 메서드는 이미 특정 용도로 사용됩니다.

표준 description 방법을 사용하는 경우에는이 방법을 사용하는 것이 좋습니다. description 메소드는 디버깅을 제외하고는 절대 사용해서는 안됩니다.

+0

감사합니다. 이를 통해 솔루션의 논리를보다 잘 이해할 수 있습니다. –