NSString *pictureUrl = [[[oneUserDict objectForKey:@"picture"]objectForKey:@"data"]objectForKey:@"url"];
[[AppEngine sharedEngine]imageAtURL:[NSURL URLWithString:pictureUrl] onCompletion:^(UIImage *fetchedImage, NSURL *url, BOOL isInCache)
{
int index = [usersArray indexOfObject:oneUserDict];
NSString *loadName = [NSString stringWithFormat:@"%d of %d",index,[usersArray count]];
NSLog(@"%i",usersArray.count);
int temp=[usersArray count]-10;
if (index!=temp)
{
[[LoadingIndicator currentIndicator]displayActivity:loadName];
NSLog(@"inside loading indicator");
}
else
{
[[LoadingIndicator currentIndicator]displayCompleted:@"Done"];
NSLog(@"finally done");
}
aPerson.image = UIImagePNGRepresentation(fetchedImage);
[appDelegate.managedObjectContext save:nil];
}];
AppEngine是
MKNetworkEngine
的子类,它使用称为imageAtURL:onCompletion:
的方法我目前正在做的是从一个特定的URL中检索所有图像,并将它们存储在aPerson.image中,基本上上述代码在FOR循环中(即用于用户数)。
问题
上面的代码在完成代码块中永远不会执行,我不知道为什么,但是我已经在该代码块中放置了一个断点,但是编译器仍然不会在完成代码块中运行语句。
最佳答案
Api imageAtURL:onCompletion:
已过时。请改用imageAtURL:completionHandler:errorHandler:
。此外,MKNetworkKit提供了UIImageView+MKNetworkKitAdditions
类别,该类别为图像下载提供了简单的API,例如setImageFromURL: placeHolderImage:
干杯!
阿玛