这个问题是关于在自定义对象中包装RestKit请求,以及我是否可以保证发送RestKit请求的对象在返回响应时也将用作委托。
我正在使用深奥的REST API(Salesforce),并且RestKit似乎没有很好地处理Salesforce的一些特性 - 例如,当您调用Salesforce REST API时,您可能会回来部分数据集,然后给出一个“nextRecordsUrl”,你必须遵循它才能得到下一个数据块。使用Salesforce和REST的其他人遇到了同样的问题(参考https://groups.google.com/forum/#!msg/restkit/HJNjB7I6WVM/8u5n7nHoJQUJ)。我创建了一个类来包装对Salesforce的调用并自动跟踪这些链接,并正确处理返回的数据集。类实例将自身注册为REST调用的委托。
我编写的类本身很好(当有一个实例时),但是我将创建其他类,并且有几个需要独立处理数据的实例。我已经阅读了文档和代码(这是一次学习经历,我现在只与ios合作了大约一个月),但是我无法确定是否保证特定实例将作为其代表响应单独请求,或者如果它可能意外地接收到另一个实例的响应。
例如,假设我有实例A和B,它们都使用RKObjectLoader发出请求,并使用loader.delegate = self;
将自己设置为委托。两者都在同时运行(异步)。这是我看到的潜在流程:
我无法看到RestKit框架如何区分请求的响应,从而确保调用正确的委托实例。换句话说,在我看来,RestKit可能会得到一个请求的响应,然后调用它想要的任何委托......但这似乎违反直觉,框架作者看起来非常敏锐。
所以,我的问题:
非常感谢!
答案 0 :(得分:0)
我还没有收到这个问题的答案,但如果有人有同样的问题并遇到这个问题,请回答:是的,RestKit似乎与正确的委托与传出请求相匹配。
我创建了一个小类(带有一个(NSString *)标识符属性来调用一个服务,并且在委托中我用结果打印出实例的标识符。我确认实例A的委托方法正在处理实例A的调用,并且B正在处理B,同时有几个电话。