2013-01-14 25 views
0

如果專輯封面不存在,我正在嘗試放置佔位符圖片。出於某種原因,從representativeItem圖像是從來沒有空,因此它只是分配一個空白的藝術品......專輯插圖及代表作品

MPMediaItemArtwork *artwork = [[mediaListItem representativeItem] valueForProperty:MPMediaItemPropertyArtwork]; 

    if (artwork) { 
     sModel.albumImage = [artwork imageWithSize: CGSizeMake (10, 10)]; 
    } else { 
     sModel.albumImage = [UIImage imageNamed:@"Default_.png"]; //never enters 
    } 
+0

所以你聲稱'如果(藝術品)'如果指向藝術品== 0的指針'應該進入'else'一邊?你的代碼的意圖可能比這更清晰。 –

+0

如果該作品存在,則它將使用設置相冊圖像。否則它會設置一個默認圖像,我看不出如何讓這個更清晰。 –

+0

我想說的是,'else'最可能的原因永遠不會被執行,因爲'if'中的條件是錯誤的。看起來你正在檢查「作品」爲零,但是如果你沒有獲得「作品」參考,誰知道那個指針是什麼。 –

回答

0

找到了解決辦法,我是一個天才;)

MPMediaItemArtwork *artwork = [[mediaListItem representativeItem] valueForProperty:MPMediaItemPropertyArtwork]; 

//If artwork has no size set place holder 
if (CGSizeEqualToSize(artwork.bounds.size, CGSizeZero)) 
{ 
    sModel.albumImage = [UIImage imageNamed:DEFAULT_IMG]; 
} 
else //Otherwise set the artwork found in the library. 
{ 
    sModel.albumImage = [artwork imageWithSize: CGSizeMake (SIZE_X, SIZE_Y)]; 
}