|
|
1
1
视图调用某个网络然后回调是一个普遍的问题。 我的解决方案是在调用操作之前可以保留视图。然后,当操作完成时,释放视图。
|
|
|
2
0
您必须重写ImageLoadingOperation类中的“Cancel”操作,或者将ImageLoadingOperation本身作为kvo观察器添加到“Cancelled”属性中。在那里-你可以智能地取消你的操作,这样它不会崩溃。 此外,如果您的ImageLoadingOperation在后台运行,那么以某种方式将您对视图的访问推迟到主线程(在主线程中进行所有绘图)会更明智。您可以使用Dispatch_Sync(Dispatch_Get_Main_Queue(),^)或甚至PerformSelectorOnManInThread来实际访问相关视图。 您看到了-使用操作队列的整个要点是删除依赖项,并让事情并行运行,但是您的操作必须与视图系统更改同步,并且必须为完整性和健壮性而设计。 |
|
|
3
0
您可以在调用操作回调之前保留该视图,如上面提到的vodkhang。但这将不必要地延长视图的使用寿命,因为视图被弹出后,您不希望操作继续进行。
此草图基于AsihttpRequest网络库,并且 有一个 official guide 关于如何响应取消命令。 |