我通过创建RKObjectRequestOperation
s 并将它们添加到 RestKit 的队列中来使用 RestKit 下载数据:
RKObjectRequestOperation *operation = [RK objectRequestOperationWithRequest:request
success:...
failure:...];
[RK enqueueObjectRequestOperation:operation];
那个效果很好。此外,此数据显示在列表视图中,其中包含显示相关用户图标的 UIImageViews。然而,这些用户图标不是通过 RestKit 下载的,而是通过底层的 AFNetworking 库下载的。UIImageView+AFNetworking 也很好地完成了这项工作(包括缓存):
[self setImageWithURLRequest:userIconRequest
placeholderImage:anonymousUser
success:nil
failure:...];
问题是来自图像视图的这 15 个用户图标请求阻止了应该立即加载下一页的 RestKit 请求的处理。我可以看到显示“正在加载”行的列表以及第一个用户图标。在最后一张图片完成加载的那一刻,下一页会自行附加。
查看 UIImageView+AFNetworking 的实现表明它正在使用自己的 NSOperation 队列实例来序列化请求。但是,我想这不应该干扰 RestKit。
在所有请求中添加NSOperationQueuePriority
s 也不会改变任何事情。也许在内部,网络请求以不同的方式序列化?我如何确定这些请求的优先级?
提前致谢。