NSInvalidArgumentException “non reconnu sélecteur envoyé à l'instance” (à l'aide de MPMoviePlayerController)

Bien, j'ai une TableView dans un RootViewController avec un DetailViewController pour l'affichage des informations de l'enregistrement unique.
Dans la page de Détail que j'ai pour lire un fichier multimédia et je suis en utilisant le cadre MediaPlayer, selon ce guide:
http://www.techotopia.com/index.php/Video_Playback_from_within_an_iOS_4_iPhone_Application

il semble que tout est ok, mais lorsque je clique sur le bouton play, j'ai cette erreur:

 -[DetailsViewController playmovie]: unrecognized selector sent to instance 0x9117f60

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[DetailsViewController playmovie]: unrecognized selector sent to instance 0x9117f60'

Ce sont mes fichiers:

Dans l'AppDelegate - je utiliser cette manette de navigation:

[...]

//Create a table view controller
    RootViewController *rootViewController = [[RootViewController alloc]
                                              initWithStyle:UITableViewStylePlain];

    rootViewController.managedObjectContext = context;
    rootViewController.entityName = @"Porti";


    UINavigationController *aNavigationController = [[UINavigationController alloc]
                                                     initWithRootViewController:rootViewController];

    self.navigationController = aNavigationController;


    UIBarButtonItem *homeButton;
    homeButton = [[[UIBarButtonItem alloc] initWithTitle:@"              Inizio              " style:UIBarButtonItemStyleBordered target:self action:@selector(home)] autorelease];

    UIBarButtonItem *barButton;
    barButton = [[[UIBarButtonItem alloc] initWithTitle:@"      Mappa dei porti       " style:UIBarButtonItemStyleBordered target:self action:@selector(caricamappa)] autorelease];

    [toolbar setItems:[NSArray arrayWithObjects: homeButton, barButton, nil]];


    [window addSubview:[navigationController view]];
    [window addSubview:toolbar];
    [window makeKeyAndVisible];

    [rootViewController release];
    [aNavigationController release];

et dans le RootViewController - je utiliser cette instruction pour passer à la DetailViewController:

//Push the new table view on the stack
    [self.navigationController pushViewController:detailsView animated:YES];
    [detailsView release];

DetailsViewController.h

#import <UIKit/UIKit.h>
#import <MessageUI/MessageUI.h>
#import "MLUtils.h"
#import <MediaPlayer/MediaPlayer.h>

@interface DetailsViewController : UIViewController {
    IBOutlet UILabel *titleLabel;
    IBOutlet UILabel *descriptionLabel;
    IBOutlet UIScrollView *descriptionScrollView;
    NSString *cityName;
    NSString *nomefile;
    NSString *extfile;
    NSString *description;
}

@property (nonatomic, retain) UILabel *titleLabel;
@property (nonatomic, retain) UILabel *descriptionLabel;
@property (nonatomic, retain) UIScrollView *descriptionScrollView;
@property (nonatomic, retain) NSString *cityName;
@property (nonatomic, retain) NSString *description;
@property (nonatomic, retain) NSString *nomefile;
@property (nonatomic, retain) NSString *extfile;

- (IBAction)playmovie:(id)sender;

@end

et c'est le DetailsViewController.m

   #import "DetailsViewController.h"
@implementation DetailsViewController
@synthesize titleLabel, descriptionLabel, descriptionScrollView;
@synthesize cityName,description,nomefile, extfile;
//Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];
[self.titleLabel setText:self.title];
[self.descriptionLabel setText:self.description];
float textHeight = [MLUtils calculateHeightOfTextFromWidth:self.description : descriptionLabel.font :descriptionLabel.frame.size.width :UILineBreakModeWordWrap];
CGRect frame = descriptionLabel.frame;
frame.size.height = textHeight;
descriptionLabel.frame = frame;
CGSize contentSize = descriptionScrollView.contentSize;
contentSize.height = textHeight;
descriptionScrollView.contentSize = contentSize;
}
-(void)playmovie:(id)sender
{
NSString *appNomeFile = self.nomefile;
NSString *appExtFile = self.extfile;
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:appNomeFile ofType:appExtFile]];
MPMoviePlayerController *moviePlayer = 
[[MPMoviePlayerController alloc] initWithContentURL:url];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayBackDidFinish:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:moviePlayer];
moviePlayer.controlStyle = MPMovieControlStyleDefault;
moviePlayer.shouldAutoplay = YES;
[self.view addSubview:moviePlayer.view];
[moviePlayer setFullscreen:YES animated:YES];
}
- (void) moviePlayBackDidFinish:(NSNotification*)notification {
MPMoviePlayerController *moviePlayer = [notification object];
[[NSNotificationCenter defaultCenter] removeObserver:self      
name:MPMoviePlayerPlaybackDidFinishNotification
object:moviePlayer];
if ([moviePlayer 
respondsToSelector:@selector(setFullscreen:animated:)])
{
[moviePlayer.view removeFromSuperview];
}
[moviePlayer release];
}
- (void)didReceiveMemoryWarning {
//Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
//Release any cached data, images, etc that aren't in use.
}
- (void)viewDidUnload {
//Release any retained subviews of the main view.
//e.g. self.myOutlet = nil;
}
//Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
//Return YES for supported orientations
//return (interfaceOrientation == UIInterfaceOrientationPortrait);
return YES;
}
- (void)dealloc {
[titleLabel release];
[descriptionLabel release];[descriptionScrollView release];
[cityName release];
[description release];
[nomefile release];
[extfile release];
[super dealloc];
}
@end

Ma question est: où est mon erreur ? J'imagine que c'est dans l'appel de la playmovie méthode, mais je ne peux pas trouver une solution!

P. S.

J'ai accidentellement effacé un commentaire, je suis désolé! =(

OriginalL'auteur obithemaster | 2011-11-16