大家好,请指导我。

我正在使用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

请指导我。

对不起,我的英语不好。

感谢您的帮助。

最佳答案

如果要从NSArray转换为NSMutableArray,请不要使用强制复制,而是使用可变副本。

10-08 05:31
查看更多