2013-03-21 3 views
0

У меня есть NSArray, который загружает видеофайлы из XML-данных. Когда вы нажимаете элемент Array, он загружает представление кнопкой, которая должна загружать URL-адрес NSString. Вот код, с которым я работаю.Несовместимый указатель-MPMoviePlayer от URL-адреса

-(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-адрес, но мне нужно выяснить, что происходит в моем проекте, прежде чем я это сделаю. Я не очень хорошо разбираюсь в данных, и использую RaptureXML для анализа XML-фида, поэтому мне нужно выяснить, как извлекать отдельные строки данных. Спасибо за помощь! –

+0

Обязательно обратите внимание на то, что сказал @rmaddy! – borrrden

+0

Теперь я переключил его на загрузку другого свойства (NSURL), и теперь мой NSLog возвращает null для NSURL. '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.description в RSSItem? Метод description является стандартным методом от NSObject. Он возвращает NSString.

Если вы добавили свой собственный метод description в свой класс, вам действительно стоит его переименовать. Метод description уже имеет определенную цель.

Если вы используете стандартный метод description, то это плохое использование. Метод description никогда не должен использоваться ни для чего, кроме отладки.

+0

Спасибо! Это помогает мне лучше понять логику решения. –