例如,导航堆栈中有 3 个顺序视图控制器,A、B、C。在后台线程的视图控制器 C 中发送异步网络请求后,用户可能会返回 B 或 A。
无论当前视图控制器在哪里,处理网络响应的最佳方法是什么?
谢谢。
例如,导航堆栈中有 3 个顺序视图控制器,A、B、C。在后台线程的视图控制器 C 中发送异步网络请求后,用户可能会返回 B 或 A。
无论当前视图控制器在哪里,处理网络响应的最佳方法是什么?
谢谢。
由于三个视图控制器可能对响应感兴趣,因此不要在其中任何一个中做出响应。创建一个类,比如说NetworkHandler
使用 method - (void) makeRequest
。您可以将其设为单例或将其添加到AppDelegate
.
在 C 中,调用此方法。
完成- (void) makeRequest
调用后,创建一个NSNotification
并使所有三个视图控制器都注册到此通知。
最好有一个 Singleton 类。您还可以让一些委托通知控制器收到响应并执行相应的操作。