我想在 iOS 中实现一个 Web 服务客户端,它使用 SOAP 和 XML 进行请求/响应。我的视图启动了初始业务逻辑(用户按下按钮或其他东西并启动一些称为 method_A 的业务方法)。
所以我有一个带有 method_A 的类,这个方法检查用户是否登录等,然后通过 SOAPConnector 类异步启动请求。所以 UI 不会被阻塞(异步)。SOAPConnector 类接受 XML 并处理请求。因此,我将 NSURLRequest 和 NSURLConnection 与 sendSynchronousRequest 一起使用。
响应被发送回接受响应的响应类。然后这个类想要解析响应 XML。因此,我使用了一个名为 XMLManager 的额外类,它使用 NSXMLParser 来解析 xml。但是这里我们需要一个委托来获取解析的 xml。再次在解析之后,我必须实现一个额外的方法来将解析的 xml 返回给发起请求的第一个类。
我真的想知道这是否是正确的方法。第一个问题是不阻塞 UI 的异步请求(第一个回调)。第二个问题是我被迫使用委托的解析(第二个回调)。这导致了很多类和方法,我怀疑这是正确的方法。这些类的唯一目的是管理委托和异步问题。所以我正在寻求任何建议并帮助解决这个问题。你知道一些很好的设计模式来解决这个问题吗?