flickr.photos.searchクエリから画像のリストを取得するためにobjectiveflickrを使用しています。
サムネイルと大きなサイズの画像を取り込む場所で機能していますが、画像に大きなサイズがない場合があるため、アプリではflickrの画像を使用できない画像が表示されます。flickr API を介して何が返されるかを確認しましたが、URL は通常の flickr URL であるため、画像に大きな画像があるかどうかを判断する方法はありません。
これを行う唯一の方法は、目的の flickr デリゲートをもう 1 つ作成し、flickr.photos.getSizes API 呼び出しを実行して各写真をチェックすることです。
他に提案はありますか?
これが私のコードです:
- (void)flickrAPIRequest:(OFFlickrAPIRequest *)inRequest didCompleteWithResponse:(NSDictionary *)inResponseDictionary
{
int requestedPhotoTotal = [[[inResponseDictionary objectForKey:@"photos"] valueForKey:@"perpage"] intValue];
for (int i=0; i < requestedPhotoTotal; i++)
{
NSDictionary *photoDict = [[inResponseDictionary valueForKeyPath:@"photos.photo"] objectAtIndex:i];
NSString *title = [photoDict valueForKey:@"title"];
NSURL *photoURL = [context photoSourceURLFromDictionary:photoDict size:OFFlickrLargeSize];
NSURL *thumbURL = [context photoSourceURLFromDictionary:photoDict size:OFFlickrThumbnailSize];
NSURL *photoSourcePage = [context photoWebPageURLFromDictionary:photoDict];
Photo *p = [[PhotoStore sharedStore] createPhoto];
[p setURL:photoURL];
[p setThumbURL:thumbURL];
[p setSource:photoSourcePage];
[p setTitle:title];
NSLog(@"%@ - %@", title, [photoURL absoluteString]);
}
[self showGallery];
}