我正在使用标准的Apple moviePlayer示例代码,并将其自定义为仅播放如下播客:
-(IBAction)playPodcast:(id)sender{
movieURL = [NSURL URLWithString:[NSString stringWithFormat:@"%@", podcastURI]];
if (movieURL)
{
if ([movieURL scheme]) // sanity check on the URL
{
// initialize a new MPMoviePlayerController object with the specified URL, and
// play the movie
[self initAndPlayMovie:movieURL];
}
}
}
-(void)initAndPlayMovie:(NSURL *)movieURL1
{
// Initialize a movie player object with the specified URL
MPMoviePlayerController *mp = [[MPMoviePlayerController alloc] initWithContentURL:movieURL1];
if (mp)
{
// save the movie player object
self.moviePlayer = mp;
[mp release];
// Apply the user specified settings to the movie player object
[self setMoviePlayerUserSettings];
// Play the movie!
[self.moviePlayer play];
}
}
我在点击tableView单元格按钮时调用“playPodcast”函数。 但应用程序正在崩溃[self.moviePlayer play];它给了我一个错误:
*** -[PodcastTableViewCell playPodcast]: unrecognized selector sent to instance 0x10c9b90
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[PodcastTableViewCell playPodcast]: unrecognized selector sent to instance 0x10c9b90'
其中PodcastTableViewCell是我的播客tableviewcell标识符。
有人可以帮忙吗?
提前完成。
答案 0 :(得分:0)
据我所知,问题在于PodcastTableViewCell。
显然,它尝试在没有必要参数的情况下调用playPodcast
。
你现在有两种可能性:
[probablyAViewcontroller playPodcast:self]
我认为这里真正的问题是使用IBAction方法还是没有。或者,如果您在多个地方(即来自IBActions以及代码中)使用了某些功能,则设计/喜欢/不喜欢放置“实际”代码的位置。
我通常做的是,将非UI相关代码放在非IBAction方法中。
希望我能帮上忙。