0

みなさん、こんにちは。何か案内してください。

でカスタム音楽アプリをやっていますiPodMusicPlayer

これがiPodLibraryから曲をロードするコードの一部です。

MPMediaQuery *query = [MPMediaQuery playlistsQuery];

        MPMediaPropertyPredicate *filter = [MPMediaPropertyPredicate predicateWithValue:self.playlistName forProperty:MPMediaPlaylistPropertyName comparisonType:MPMediaPredicateComparisonContains];

        [query addFilterPredicate:filter];      

**self.app.arrayFromAppDelegate = (NSMutableArray *)[query items];**


        self.userMediaItemCollection = [[MPMediaItemCollection alloc] initWithItems:self.app.arrayFromAppDelegate];

        [self.player setQueueWithItemCollection:self.userMediaItemCollection];

上記のコードによると

self.app.arrayFromAppDelegate = (NSMutableArray *)[query items];

arrayFromAppDelegateは、NSMutableArrayで宣言したものAppDelegateです。 [query items];戻るNSArrayと私NSMutableArrayはポインタで追加しました(NSMutableArray *)

私がそのように使用したとき、それは正しい方法ですか?

または私はのように使用する必要がありますself.app.arrayFromAppDelegate = [[query items] mutableCopy];

どちらの方法がメモリに最適で、使用removeAllObject後に使用する必要がありますmutableCopyか?

案内してください。

私の悪い英語でごめんなさい。

助けてくれてありがとう。

4

1 に答える 1

1

キャストするだけではない場合は、可変コピーを使用してくださいNSArrayNSMutableArray

于 2013-01-23T17:28:29.373 に答える