RestKit:区分didLoadResponse中的多个请求: [英] RestKit: distinguish multiple requests in didLoadResponse:

查看:96
本文介绍了RestKit:区分didLoadResponse中的多个请求:的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用RestKit并在同一类中(即在didLoadResponse:方法中)处理几个不同的请求.如何区分不同的请求?我怎么知道哪个请求完成了?

I'd like to use RestKit and handle several different requests in the same class, i.e. in the didLoadResponse: method. How can I distinguish between the different requests? How do I know which request is finished?

我正在通过以下方式进行请求

I'm doing the request via

RKClient *client = [RKClient sharedClient];
[client get:@"/....", method] delegate:self];

然后,在委托方法中

- (void)request:(RKRequest *)request didLoadResponse:(RKResponse *)response {
    if (???) // request which gets XY returned
        ...
    else if (???) // request which gets YZ returned
        ...
}

有可能吗?

推荐答案

当然,RKClient get:方法返回RKRequest对象.只需将userData设置为请求,然后稍后在委托中对其进行检索即可.

Sure, the RKClient get: method returns a RKRequest object. Just set a userData to the request and retrieve it later in the delegate.

RKClient *client = [RKClient sharedClient];
RKRequest *request = [client get:@"/....", method] delegate:self];
[request setUserData:@"FirstRequest"];

并稍后在委托人中对其进行检查

and check it later in the delegate

- (void)request:(RKRequest *)request didLoadResponse:(RKResponse *)response {
    id userData = [request userData];
    if ([userData isEqual:@"FirstRequest"]) // request which gets XY returned
        ...
    else if (...) // request which gets YZ returned
        ...
}

这篇关于RestKit:区分didLoadResponse中的多个请求:的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆