0

XMLデータからビデオファイルをロードするNSArrayがあります。配列アイテムを押すと、NSStringURLをロードするボタンのあるビューがロードされます。これが私が使っているコードです。

-(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*」型のパラメータに送信しています」という警告が表示されます。

文字列を文字列に変換して機能させるために、考えられるすべてのことを試しました。この質問がフォーラムにとって具体的または基本的すぎる場合は、お知らせください。

ありがとう!

4

2 に答える 2

1

このNSURL URLWithString:メソッドは、タイプがのパラメーターを想定していますNSStringRSSItemしかし、あなたはいくつかの未知のオブジェクトを渡しています。を渡す必要がありNSStringます。

なぜあなたはにキャストself.descriptionしているのRSSItemですか?このdescription方法は、からの標準的な方法ですNSObject。を返しますNSString

クラスに独自のメソッドを追加した場合は、description実際に名前を変更する必要があります。このdescription方法にはすでに特定の目的があります。

標準的なdescription方法を使用している場合、これは不適切な使用法です。このdescriptionメソッドは、デバッグ以外の目的には使用しないでください。

于 2013-03-21T03:03:47.777 に答える
1

これ:

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

これである必要があります:

NSString* item = self.description;

あなたのコードの上記の行は不可解で厄介です。なぜあなたdescriptionは(NSStringそもそも)にキャストしようとしているのRSSItemですか?

于 2013-03-21T03:03:57.847 に答える