3
私のアプリには100のビデオデータがあります。私はそれが一時停止または停止されているすべてのビデオ再生時間が必要NSUserDefaultsを使用してすべてのビデオ再生時間を格納する必要があります。どうすればこれを達成できますか?NSUserDefaultsを使用してデータを保存および取得する方法
私はこれを試しました。停止時間を表示するには問題ありませんが、停止または一時停止したビデオの長さを配列や辞書などの単一のキー値参照に保存する必要があります。
-(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];
}
}
自分のコードを追加しましたか? – ganesh
なぜなら、 'setDouble:forKey:'の代わりに 'setObject:forKey:'を使って 'videoTitle'キーを' double'ではなく 'NSDictionary'として保存して、欲しいです。 (個人的には、非理想的なIMOのように、汚染された 'NSUserDefaults'のようなことをするために別のクラスを使用することに注意してください)。 – mattjgalloway
私はそれを個々の値ではなく辞書として保存します。 –