2011-12-18 8 views
1

iPad上で分割ビューテンプレートを使用しています。NSBundle mainBundleが見つかりません

NSBundle * bundle = [NSBundle mainBundle]; 

作品:私のMasterViewControllerコードで

私のDetailViewControllerで同じコードがエラーを示していますか?私は<UIKit/UIKit.h>を輸入しました。それはNSBundleを知っていますが、何らかの理由でmainBundleを認識しません。

もしそうならいいですね。私を助けることができた!

Error

Missing "[" at start of message send expression

EDIT

ANSWER:

私は括弧を忘れてしまいました。それは事件声明の中にある。だから、使用:

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

は、なぜあなたはヘッダファイルにこのコードを使用するのでしょうか?このエラーが発生した場所にコードを貼り付けることができますか? – Eimantas

+0

いいえ、 '.m'ファイルで使われています。混乱させて申し訳ありません。私は私の答えを編集しました。 'MPMediaPlayerController'のために' NSURL'を初期化したいと思います。 – DAS

+0

あなたが見ているエラーテキストは何ですか? –

答えて

2

をcase文で変数を宣言かっこがステートメントの周りに必要とされている場合、これは単なる「C」構文です。固定

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

を私はOPが何を意味するのかであると仮定しMPMoviePlayerControllerMoviePlayerControllerを変更しました。また、不足しているplayer変数を追加しました。

+0

私は自分で見つけました。 :) – DAS

0

新しい変数を宣言する場合は、中括弧をケース内に追加する必要があります。

このコードはコンパイルされません

case 1: 
    NSURL *foo; 

この意志:

case 1: 
{ 
    NSURL *foo; 
} 
関連する問題