RestKit处理重叠的RKRequest代理

时间:2012-08-29 14:21:56

标签: iphone rest restkit

我有几个RestKit获取所有使用相同的格式:

[[RKClient sharedClient] get:endString queryParameters:params delegate:self];

我有一个masterMethod,它基本上刷新了我的所有用户的宁静数据,看起来像这样

-(void)masterMethod
{
[self get1];
[self get2];
[self get3];
[self get4];
[self get5];
}

所有获取的格式与上面的格式相同。所有这些代码都在一个包含委托方法的类中:

- (void)request:(RKRequest*)request didLoadResponse:(RKResponse*)response

但是,当我尝试使用相同的方法调用所有给出时,我认为出现了问题。这就好像代表们做了负载响应& didRecieveResponse方法重叠或获取释放或其他东西。有没有办法让主队列来处理这个巨大的呼叫?或者是其他问题。

我在masterMethod调用中的某处遇到了BAD_ACCESS错误。

谢谢,任何帮助都非常感谢。

1 个答案:

答案 0 :(得分:0)

你是get ting?如果您正在下拉对象,则应使用isKindOfClass方法来区分objectLoader:didLoadObjects中的对象并进行适当设置。

- (void)objectLoader:(RKObjectLoader*)objectLoader didLoadObjects:(NSArray*)objects {

    if ([[objects objectAtIndex:0] isKindOfClass:[Apple class]]) {

        Apple *apple = [objects objectAtIndex:0];

    }
    else if ([[objects objectAtIndex:0] isKindOfClass:[Banana class]]) {

        Banana *banana = [objects objectAtIndex:0];

    }
}

如果要从请求响应中提取数据,请查看在请求对象上设置userdata,然后在request:didLoadResponse中检查用户数据。有关详细信息,请参阅RestKit: distinguish multiple requests in didLoadResponse: