将 myViewController 推送到导航堆栈后,我对填充 myViewController 上的一些字段的一些数据进行了简单的网络请求。我不希望这个请求阻塞主线程,所以我使用performSelectorInBackground
. 当请求返回时,我使用performSelectorOnMainThread
更新 UI。
除了放弃请求外,这种方法效果很好。假设用户推送视图控制器,网络请求开始,然后用户立即弹出视图控制器并在应用程序中执行其他操作。在这种情况下,网络请求返回到一个不存在的对象。我该如何处理这种情况?
我考虑了一个更健壮的网络层,其中每个请求都有一个代表来处理响应。使用这种架构,我可以在弹出视图控制器时取消委托,从而避免请求返回无的问题。我不确定这是否是最好的方法。