问题描述
RestKit
中是否有包装器或某种内置功能可以使用回调或异步方式从 NSURL
加载 UIImage
块?我在 RestKit
文档中找不到这样的方法.如果没有,从 NSURL
使用 RestKit
尽可能实现延迟加载异步图像的好策略是什么?
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?
推荐答案
使用RestKit你可以使用RKRequest
来为图片加载数据,例如:
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];
请注意,即使在 onDidLoadResponse
情况下,您也可能需要检查 response
以确保数据类型符合您的预期.上面使用的图片加载队列可以这样创建:
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];
这篇关于使用 RestKit 从 NSURL 异步加载图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!