我正在使用objectiveflickr从flickr.photos.search查询中提取图像列表。
我在拉伸缩略图和大尺寸图像的地方工作,但有时图像没有大尺寸可用,所以在应用程序中显示flickr的图像不可用图像。我检查了通过flickr API返回的内容,并且URL是常规的flickr URL,因此没有办法判断图像是否会以这种方式显示大图像。
我能想到这样做的唯一方法是创建另一个客观的flickr委托并让它执行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];
}