0

我有几个 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

但是,我认为当我尝试以相同的方法调用 all give get 时出现了问题。就好像委托 didLoadResponse 和 didRecieveResponse 方法重叠或获得释放或其他东西。有没有办法让一个主队列来处理这个巨大的呼叫?还是有其他问题。

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

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

4

1 回答 1

0

你在说什么get?如果你要拉下对象,你应该使用 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:在 didLoadResponse: 中区分多个请求

于 2012-08-29T16:47:36.887 回答