Cómo save y recuperar datos usando NSUserDefaults

Tengo datos para 100 videos en mi aplicación. Necesito cada time de reproducción de video cuando está en pausa o cuando se detiene. Necesito almacenar todos los times de reproducción de los videos usando NSUserDefaults. ¿Cómo puedo conseguir esto?

Probé esto Está funcionando bien para mostrar la duración detenida, pero necesito save la duración del video detenida, en pausa y completa en una sola reference de valor key como matriz o dictionary.

-(void) moviePlayerPlaybackStateDidChange:(NSNotification*)notification { NSLog(@"playbackDidChanged"); moviePlayer = notification.object; MPMoviePlaybackState playbackState = moviePlayer.playbackState; if(playbackState == MPMoviePlaybackStateStopped) { NSLog(@"MPMoviePlaybackStateStopped at %f while the full length is %f", moviePlayer.currentPlaybackTime, moviePlayer.duration); NSLog(@"video title %@",videoTitle); [[NSUserDefaults standardUserDefaults] setDouble:moviePlayer.currentPlaybackTime forKey:videoTitle]; [[NSUserDefaults standardUserDefaults] synchronize]; NSLog(@"User default value : %@", [[NSUserDefaults standardUserDefaults] objectForKey:videoTitle]); } else if(playbackState == MPMoviePlaybackStatePlaying) { NSLog(@"MPMoviePlaybackStatePlaying"); } else if(playbackState == MPMoviePlaybackStatePaused) { NSLog(@"MPMoviePlaybackStatePaused : %f",moviePlayer.currentPlaybackTime); [[NSUserDefaults standardUserDefaults]setDouble:moviePlayer.currentPlaybackTime forKey:videoTitle]; } } 

En realidad, cuando pienso en esto. Si conoce la location de cada video y se configuró al agregar estos valores a NSUserDefaults, almacenaría todo en una variedad de dictionarys. Entonces, solo tiene una input a los valores pnetworkingeterminados en lugar de 100. Y debería ser fácil determinar cuál necesita.