【发布时间】:2012-07-31 19:10:58
【问题描述】:
我正在开发一个具有高度异步设计的 iOS 应用程序。在某些情况下,单个概念上的“操作”可能会将许多子块排队,这些子块将异步执行并异步接收它们的响应(对远程服务器的调用)。这些子块中的任何一个都可能在错误状态下完成执行。如果任何子块发生错误,则应取消任何其他子块,错误状态应向上渗透到父块,并应执行父块的错误处理块。
我想知道在这样的环境中可以推荐哪些设计模式和其他技巧?
我知道 GCD 的 dispatch_group_async 和 dispatch_group_wait 功能。这可能是这个应用程序设计的一个缺陷,但我对 dispatch_group_async 的运气并不好,因为该组似乎对子块没有“粘性”。
提前致谢!
【问题讨论】:
标签: ios cocoa-touch cocoa design-patterns