【问题标题】:Persist a MPMediaItemCollection Object Using NSUserDefaults使用 NSUserDefaults 持久化 MPMediaItemCollection 对象
【发布时间】:2011-11-23 20:45:21
【问题描述】:
如何使用 NSUserDefaults 持久化 MPMediaItemCollection 对象? MPMediaItemCollection 对象是从 iPod 中选择的一首歌曲。
我已经为此苦苦挣扎了好几个小时!有人对 NSUserDefaults 或 MPMediaItemCollection 的转换或任何东西有任何想法或替代方案吗?!
谢谢...
【问题讨论】:
标签:
iphone
objective-c
ios
nsuserdefaults
mpmediaitemcollection
【解决方案1】:
首先将 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];