Is there a wrapper or some sort of built-in functionality available in RestKit
to load a UIImage
from an NSURL
asynchronously using callbacks or blocks? I could not find such a method in the RestKit
docs. If there is not, what is a good strategy for implementing lazy loaded async images from NSURL
using RestKit
as much as possible?
Not sure about a RestKit solution, but SDWebImage is a library that will let you easily load images asynchronously by adding a category to UIImageView, so all you have to write is this (for example):
[myImageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"]
placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
Using RestKit you can use RKRequest
to load the data for the image in a manner such as:
RKRequest* request = [RKRequest requestWithURL: url];
request.onDidLoadResponse = ^(RKResponse* response) {
UIImage* image = [UIImage imageWithData: response.body];
// do something interesting with the image
};
request.onDidFailLoadWithError = ^(NSError* error) {
// handle failure to load image
}
[imageLoadingQueue addRequest: request];
Note that even in the onDidLoadResponse
case you may want to check response
to make sure the type of data is what you expected. The image loading queue used above can be created like so:
imageLoadingQueue = [RKRequestQueue requestQueueWithName: @"imageLoadingQueue"];
[imageLoadingQueue start];
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With