2013-01-23 21 views
0

大家好,请引导我一些东西。当我在iOS中使用MPMediaItem时,是否需要使用mutableCopy到NSMutableArray?

我正在做自定义音乐应用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];

哪种方法是最好的记忆?我需要使用mutableCopy后使用removeAllObject

请指导我。

对不起我的英语不好。

谢谢你的帮助。

回答

1

如果你从NSArrayNSMutableArray不只是投它,使用可变的副本。

+0

所以我需要在使用后使用removeAllObject? –

+0

如果你指的是当你释放它(我使用弧),你不应该。 – mkral

+0

是的,我使用ARC.So我不需要使用removeAllObject? –

相关问题