Objective c 使用RestKit从NSURL异步加载图像
Objective c 使用RestKit从NSURL异步加载图像,objective-c,ios,asynchronous,uiimageview,restkit,Objective C,Ios,Asynchronous,Uiimageview,Restkit,RestKit中是否有包装器或某种内置功能可用于使用回调或块从NSURL异步加载UIImage?我在RestKit文档中找不到这样的方法。如果没有,那么使用RestKit尽可能多地从NSURL实现延迟加载异步映像的好策略是什么?不确定是否有RestKit解决方案,但有一个库可以通过向UIImageView添加一个类别来轻松异步加载映像,因此您只需编写这个(例如): 使用RestKit,您可以使用RKRequest以如下方式加载图像的数据: RKRequest* request = [RKRequ
RestKit
中是否有包装器或某种内置功能可用于使用回调或块从NSURL
异步加载UIImage
?我在RestKit
文档中找不到这样的方法。如果没有,那么使用RestKit
尽可能多地从NSURL
实现延迟加载异步映像的好策略是什么?不确定是否有RestKit解决方案,但有一个库可以通过向UIImageView添加一个类别来轻松异步加载映像,因此您只需编写这个(例如):
使用RestKit,您可以使用
RKRequest
以如下方式加载图像的数据:
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
,以确保数据类型符合预期。上面使用的映像加载队列可以这样创建:
imageLoadingQueue = [RKRequestQueue requestQueueWithName: @"imageLoadingQueue"];
[imageLoadingQueue start];
那真是太棒了。。。我在不到5分钟的时间里,毫不犹豫地把它安装好并运行起来。我会坚持接受,直到我看到是否有任何基于RestKit的解决方案。SDWebImage也做图像缓存。好吧,RestKit没有。我认为这应该被标记为正确答案,没有看到任何RK实现接近SDWebImage功能。太棒了!它也可以作为Cocopod使用,这使得我使用restkik加载图像更加容易,为此我使用base64。。。我找到的唯一方法。当我使用#import时,编译器找不到RKRequest的定义,RKRequest在RestKit中仍然可用吗?
imageLoadingQueue = [RKRequestQueue requestQueueWithName: @"imageLoadingQueue"];
[imageLoadingQueue start];