使用NSUserDefaults持久化MPMediaItemCollection对象

5

如何使用NSUserDefaults持久化MPMediaItemCollection对象? MPMediaItemCollection对象是从iPod中选择的单个歌曲。

我已经苦苦挣扎了数小时!有人有任何关于NSUserDefaults或从MPMediaItemCollection进行转换的想法或替代方案吗?!

谢谢...


你可以回答自己的问题并将其标记为正确。 - Mark Adams
1
很酷,这个很好用。你应该为此而得到赞誉。 - JeffB6688
1个回答

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];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接