在异步调用之前调用同步调用

时间:2012-11-25 23:03:16

标签: iphone objective-c ios ipad cocoa

我有一定的情况,希望看到使用设计模式和OOPS概念的方法的最佳结果。

我有一个“网络服务”调用,如果用不同的参数调用,可以说“bed”,“car”和“toy”。现在让我们将这些参数保持为常量,并且在拨打电话时它们永远不会改变。

因此,基于这三个参数,它只能选择一个,并通过Web服务调用。

Web服务调用最初被构造为“类方法”。因为,整个想法只是获取值,创建一个nsurlRequest,获取数据,解析并以NSDictionary形式返回。

现在,业务需求已经改变,“汽车”和“床”需要额外的“网络服务”呼叫,基于他们需要的“配件”,如果客户需要,则选择“继续”第一次网络服务电话。

因此,如果您注意到这有点像瀑布方法,因为第二个服务调用需要在第一个服务调用之前完成才能继续。

基于上述情况,处理这种情况的更好方法是什么?

我已经考虑过使用“班级代表”,而不会改变班级的大部分构建,但只是想要了解是否有更好的方法。

我不能在这里使用GCD,因为它也用于iOS 3.0。

我现在使用NSRunloop机制,延迟时间为10秒,但感觉这不是一个好方法。

感谢。

0 个答案:

没有答案