Created
January 8, 2012 00:11
-
-
Save MKSG-MugunthKumar/1576556 to your computer and use it in GitHub Desktop.
MKNetworkEngine and UIImageView
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[AppDelegate.imageFetcher imageAtURL:self.profile.avatarURL | |
onCompletion:^(UIImage *image, NSURL *url, BOOL isInCache) | |
{ | |
// this "if" is to prevent images flashing repeatedly when cells are reused. | |
if ([[self.profile.avatarURL absoluteString] isEqualToString:[url absoluteString]]) { | |
self.avatarImageView.image = resizedImage; | |
} | |
}]; |
Author
MKSG-MugunthKumar
commented
Jan 8, 2012
via email
I didn't quite understand your question.
Maintain a reference to what?
Mugunth
Author | Developer | Trainer
iOS 5 Programming book
iBooks: http://mk.sg/ibook
Amazon: http://mk.sg/ios5book
…On Jan 8, 2012, at 5:37 PM, Burnsoft wrote:
thanks for the quick reply Mugunth.
I'm testing this with a twitter stream and using this:
`if ([[[tweet objectForKey:@"user"] objectForKey:@"profile_image_url"] isEqualToString:[fetchedURL absoluteString]]) {
cell.imageView.image = fetchedImage;
}`
how should I best maintain a reference to the originally requested URL when scrolling and the subsequent delay in the request?
many thanks once again
Nik
---
Reply to this email directly or view it on GitHub:
https://gist.github.com/1576556
Hi Mugunth, apologies if I'm unclear. Basically the tableview image is not refreshed until the tableview reloads.
[ApplicationDelegate.engine imageAtURL:[NSURL URLWithString:[[tweet objectForKey:@"user"] objectForKey:@"profile_image_url"]] onCompletion:^(UIImage *fetchedImage, NSURL *fetchedURL, BOOL isInCache) {
if(isInCache){
cell.imageView.image = fetchedImage;
}else if ([[[tweet objectForKey:@"user"] objectForKey:@"profile_image_url"] isEqualToString:[fetchedURL absoluteString]]) {
cell.imageView.image = fetchedImage;
}else{
cell.imageView.image = nil;
}
}];
There is likely a very simple solution which I'm missing, but any assistance in understanding how I can check the MKNetworkKit cache before starting the block request and thereby having the image show immediately would be greatly appreciated.
Previously I would maintain a dictionary of cached images in my app Delegate and either show if the URL was already available in the cache or start an NSOperation to grab it.
cheers
Nik
Read my latest post on this
thanks Mugunth, I intend to. I saw on twitter you had written this. much appreciated.
Regards
Nik
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment