NSBundle mainBundle не найден - PullRequest
       32

NSBundle mainBundle не найден

1 голос
/ 18 декабря 2011

Я использую шаблон разделенного просмотра на iPad.

По моему MasterViewController код:

NSBundle * bundle = [NSBundle mainBundle];

работает.

В моем DetailViewController тот же код показывает ошибку? Я импортировал <UIKit/UIKit.h>. Он знает NSBundle, но по какой-то причине не распознает mainBundle.

Было бы неплохо, если бы это было так. может помочь мне!

Error

Missing "[" at start of message send expression

EDIT

ОТВЕТ:

Я забыл скобки. Это в кейсе-заявлении. Так что используйте:

case 1:
{
   //bla ...
}

Ответы [ 2 ]

2 голосов
/ 18 декабря 2011

В операторах case, если переменная объявлена, для этого оператора требуются скобки, это просто синтаксис "C".

Исправлено:

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

Я изменил MoviePlayerController на MPMoviePlayerController, предполагая, что именно это и имелось в виду. Я также добавил отсутствующую переменную player.

0 голосов
/ 18 декабря 2011

Вам нужно добавить фигурные скобки внутри регистра, если вы собираетесь объявлять новые переменные.

Этот код не будет компилироваться

case 1:
     NSURL *foo;

Это будет:

case 1:
{
    NSURL *foo;
}
...