2011-12-18 3 views
1

iPad에서 분할보기 템플릿을 사용하고 있습니다. 내 MasterViewController 코드에서NSBundle mainBundle을 찾을 수 없습니다.

:

NSBundle * bundle = [NSBundle mainBundle]; 

작품.

DetailViewController에 동일한 코드가 오류를 보여줍니다? 나는 <UIKit/UIKit.h>을 수입했다. 그것은 NSBundle을 알고 있지만 어떤 이유로 든 mainBundle을 인식하지 못합니다.

그렇다면 좋을 것입니다. 도와 줘요!

Error

Missing "[" at start of message send expression

편집

답변 :

내가 브래킷을 잊어 버렸습니다. 사건 진술에 나와 있습니다. 따라서 다음을 사용하십시오 :

case 1: 
{ 
    //bla ... 
} 
+0

이 왜 헤더 파일에이 코드를 사용해야합니까? 이 오류가 발생한 곳의 코드를 붙여 넣을 수 있습니까? – Eimantas

+0

아니요, 그것은'.m' 파일에서 사용됩니다. 혼란을 드려 죄송합니다. 나는 내 대답을 편집했다. 'MPMediaPlayerController'에 대해'NSURL'을 초기화하고 싶습니다. – DAS

+0

정확한 오류 텍스트가 무엇입니까? –

답변

2

변수가 선언 된 경우에는 명령문 주위에 중괄호가 필요합니다. 이것은 단순한 "C"구문입니다.

는 고정 :

switch (sender.row) { 
    case 1: 
    { 
     NSURL *movieURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"testclip" ofType:@"mov"]]; 
     MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:movieURL]; 
    } 
} 

나는 그 작전을 의미하는 것입니다 가정 MPMoviePlayerControllerMoviePlayerController을 변경했습니다. 또한 누락 된 player 변수를 추가했습니다.

+0

예. 나는 혼자서 알아 냈다. :) – DAS

0

새 변수를 선언하려는 경우에는 케이스 내부에 중괄호를 추가해야합니다.

이 코드는 컴파일되지 않습니다

case 1: 
    NSURL *foo; 

이됩니다

case 1: 
{ 
    NSURL *foo; 
}