2

我有一个进行 SOAP 调用的应用程序。为了防止 UI 阻塞,我们将每个 SOAP 调用放入 NSOperation 的子类中。这很好用,但是我们有大量不同类型的 SOAP 调用。因此,如果我们使用 3 个 WSDL,每个 WSDL 有 10 个端口或操作,那么我们在 SOAP 中有 30 个不同的调用,如果我们使用 NSOperation 将每个调用放在一个线程中,我们最终会得到 30 个 NSOperation 子类。

这可能不是一件坏事,但我们正在尝试创建一个可重用的库,因此每个 WSDL 都有一个对象来封装调用。这很好,因为我们使用的是 WSDL2ObjC,它封装了所有逻辑。但是在这么多的 NSOperations 中有一个很好的 api 来包装调用似乎很奇怪。此外,我们正在 api 本身中进行线程化,以便调用者可以按照他/她认为合适的方式使用它。

任何建议都会很棒。

4

1 回答 1

2

如果我对您的理解正确,那么您已经拥有封装对 SOAP 服务的调用的对象,并且您只想减少 NSOperation 子类。

你检查过 NSInvocationOperation 吗?它是 NSOperation 的子类,可让您将消息作为 NSOperation 调用发送到对象。所以你仍然得到非阻塞操作,但你不需要多个 NSOperation 子类。

于 2009-08-19T14:51:34.323 回答