使用NSUserDefaults保留MPMediaItemCollection对象

时间:2011-11-23 20:45:22

标签: iphone objective-c ios nsuserdefaults mpmediaitemcollection

如何使用NSUserDefaults保留MPMediaItemCollection对象? MPMediaItemCollection对象是从iPod中选择的单首歌曲。

我一直在努力奋斗几个小时!任何人对NSUserDefaults有任何想法或替代品,或者从MPMediaItemCollection或任何东西转换?!

...谢谢

1 个答案:

答案 0 :(得分:7)

首先将MPMediaItemCollection转换/编码为NSData对象,然后使用NSUserDefaults存储它:

NSData *data = [NSKeyedArchiver archivedDataWithRootObject:mediaItemCollection];

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:data forKey:@"someKey"];
    [defaults synchronize];

从那里,您可以解码并使用应用程序中的任何其他位置....

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSData *data = [defaults objectForKey:@"someKey"];
MPMediaItemCollection *mediaItemCollection = [NSKeyedUnarchiver unarchiveObjectWithData:data];