2013-01-14 3 views
0

앨범 아트가없는 경우 자리 표시 자 이미지를 넣으려고합니다. 솔루션, 나는 천재 야 발견 단순히 빈 아트 워크를 할당 있도록 representativeItem의 이미지가 null 결코 어떤 이유로 ...앨범 사진 및 대표 상품

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인지 확인하는 것처럼 보이지만 '아트웍'참조를 얻지 못하면 포인터에있는 것을 알 수 있습니다. –

답변

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)]; 
}