我正在尝试将MPMediaItem保存在nsmutableDictionary中。
实际上,我的目的是让用户选择他的歌曲,然后将其保存在应用程序中,然后在他想要的时候播放。
我已经添加了用于将MPMediaItem保存到字典的代码
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
[dict setObject:mediaItemCollection.representativeItem forKey:@"name"];并将其添加到NSMutableArray中,然后将该数组添加到NSUserDefaults中。
但是当我尝试这样做的时候,我得到了这个错误:
[NSUserDefaults setObject:forKey:]:
Attempt to insert non-property value '(
{
desc = Test;
group = Main;
msg = Test;
name = test;
rec = (
{
name = "<MPConcreteMediaItem: 0x12b040> 8240103918041924793";
number = test;
}
);
type = "Play File";
}
)' of class '__NSArrayM'. Note that dictionaries and arrays in property lists must also contain only property values.发布于 2011-12-24 20:15:35
您不应该保存MPMediaItems (我甚至不知道它们是否具有关联的键控archivers和unarchivers ),但可以保存与每个项关联的唯一标识符(通过MPMediaItemPropertyPesistentID属性键引用)。
看看answers to this closely related question,你可能会找到一条到达你想去的地方的路径。
发布于 2014-01-13 18:34:27
将其设置为NSData,然后将其存储以获取所需内容。它是存档的。
https://stackoverflow.com/questions/8624282
复制相似问题