2012-11-06 69 views
7

我在我的應用程序中使用Apple Media Player Framework。要獲取物品,我正在使用文檔中所述的MPMediaQuery。哪個效果不錯,但是當使用預定義查詢檢索所有藝術家時,我會爲少數藝術家獲得重複的條目。MPMediaQuery artistsQuery返回重複項

有人可以解釋爲什麼有重複?我如何壓制他們?

NSArray *collections = [[MPMediaQuery artistsQuery] collections]; 

(真的有沒有在藝術家的名字的外殼任何錯別字或差別!)

+0

對於初學者來說,有可能是一些元,導致重複。但是,要確認這一點,如何使用NSArray創建NSSet,它將自動刪除所有重複項? 'NSSet * uniqueArtists = [NSSet setWithArray:collections];'。看看這是否刪除重複。否則,必須有一些讓藝術家複製,儘管藝術家姓名相同。 –

+0

糟糕的是,這是不可能的,因爲我也想使用MPMediaQuery的部分功能。是的,但找出哪些元數據與它們重複以及如何預防會很有趣。 – miho

+0

您是否在藝術家標籤中的音樂應用中看到相同的重複藝術家? – Felix

回答

4

我注意到,這僅當有多個藝人的專輯出現。

而不是僅僅[MPMediaQuery artistQuery],下面假裝此行爲:

MPMediaQuery *artistsQuery = [MPMediaQuery artistsQuery]; 
artistsQuery.groupingType = MPMediaGroupingAlbumArtist; 
NSArray *collections = [artistQuery collection];