大家好,请指导我。
我正在使用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
,请不要使用强制复制,而是使用可变副本。