RestKit:在didLoadResponse中区分多个请求:

swa*_*ner 19 objective-c restkit

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

我正在通过这个请求

RKClient *client = [RKClient sharedClient];
[client get:@"/....", method] delegate:self];
Run Code Online (Sandbox Code Playgroud)

然后,在委托方法中

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

那可能吗?

mja*_*mja 22

当然,该RKClient get:方法返回一个RKRequest对象.只需将userData设置为请求,稍后在委托中检索它.

RKClient *client = [RKClient sharedClient];
RKRequest *request = [client get:@"/....", method] delegate:self];
[request setUserData:@"FirstRequest"];
Run Code Online (Sandbox Code Playgroud)

然后在代表中查看

- (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
        ...
}
Run Code Online (Sandbox Code Playgroud)