我有几个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错误。
谢谢,任何帮助都非常感谢。
答案 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:。