4

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.
4

2 に答える 2

4

MPMediaItemsを保存するべきではありません(これらにキー付きアーカイバとアンアーカイバが関連付けられているかどうかさえわかりません)が、MPMediaItemPropertyPesistentID各アイテムに関連付けられた一意の識別子(プロパティキーを介して参照)を保存します。

この密接に関連する質問への回答を確認してください。行きたい場所にたどり着くための道が見つかるかもしれません。

于 2011-12-24T12:15:35.490 に答える
1

NSDataに設定し、保存して必要なものを取得します。アーカイブします。

于 2014-01-13T10:34:27.310 に答える