Objective c 如何保证特定委托将处理RestKit响应

Objective c 如何保证特定委托将处理RestKit响应,objective-c,asynchronous,delegates,restkit,Objective C,Asynchronous,Delegates,Restkit,这个问题是关于在自定义对象中包装RestKit请求,以及我是否可以保证发送RestKit请求的对象在返回响应时也将用作委托 我正在使用一个深奥的REST API(Salesforce),RestKit似乎不能很好地处理Salesforce的一些特性——例如,当您调用Salesforce REST API时,您可能会得到一个部分数据集,然后得到一个“nextRecordsUrl”,您必须遵循它才能获得下一个数据块。其他与Salesforce和REST合作的人也遇到了同样的问题(参考)。我创建了一个

这个问题是关于在自定义对象中包装RestKit请求,以及我是否可以保证发送RestKit请求的对象在返回响应时也将用作委托

我正在使用一个深奥的REST API(Salesforce),RestKit似乎不能很好地处理Salesforce的一些特性——例如,当您调用Salesforce REST API时,您可能会得到一个部分数据集,然后得到一个“nextRecordsUrl”,您必须遵循它才能获得下一个数据块。其他与Salesforce和REST合作的人也遇到了同样的问题(参考)。我创建了一个类来包装对Salesforce的调用,自动跟踪这些链接,并正确处理返回的数据集。类实例将自己注册为REST调用的委托

我编写的类本身工作得很好(当只有一个实例时),但我将创建其他类,并且有几个实例需要独立处理它们的数据。我已经阅读了文档和代码(这是一次学习经历,我现在只与ios一起工作了大约一个月),但我看不出是否可以保证某个特定实例将作为代理单独响应其请求,或者它是否可能意外地获取另一个实例的响应

例如,假设我有实例A和实例B,它们都使用RKObjectLoader发出请求,并且使用
loader.delegate=self将自己设置为委托。两者同时运行(异步)。我看到了一个潜在的流程:

  • A的RKObjectLoader进行调用,将self注册为响应的委托
  • RestKit框架发送一个请求
  • B的RKObjectLoader进行调用,将self注册为响应的委托
  • RestKit框架发送对B的请求
  • 。。。等等
  • RestKit框架得到响应,并以某种方式确定此响应来自B的请求,将B作为委托调用
  • B委托方法被调用
  • RestKit框架获得响应,并以某种方式确定此响应来自A的请求,将A作为委托调用
  • 调用委托方法
  • 我看不出RestKit框架如何区分响应和请求,从而确保调用正确的委托实例。换句话说,在我看来,RestKit可能会得到请求的响应,然后调用它想要的任何委托。。。但这似乎违反直觉,框架作者似乎非常敏锐

    所以,我的问题是:

  • 如果我有一个使用RKObjectLoader的类实例,并将其自身设置为委托,那么可以保证在收到该请求的响应时调用它吗
  • 你能告诉我RestKit框架中处理这个问题的实际实现吗?这样我就可以了解它是如何实现的了

  • 非常感谢

    我还没有收到这个问题的答案,但是如果有人有同样的问题并且遇到了这个问题,下面是答案:是的,RestKit确实会将正确的委托与传出的请求相匹配

    我创建了一个调用服务的小类(带有一个(NSString*)标识符属性,并在委托中打印出实例的标识符和结果。我确认实例a的委托方法正在处理实例a的调用,而实例B正在处理实例B的调用,同时有几个调用