1

我正在制作一个为数据选择器异步加载数据的应用程序,然后重新加载数据选择器,一切都很好。

问题是,如果用户点击文本字段,应用程序会向网络请求信息,但如果尚未加载,然后用户点击后退按钮,则视图消失,但数据仍在加载在后台。

我尝试在自定义线程上运行此加载方法,然后调用[myThread cancel];on viewWillDisappear,但数据仍在加载。当他明确不想再加载数据时,我想避免用户使用数据。有什么帮助吗?

我正在考虑杀死 com.apple.nsurlconnectionloader 但我不知道该怎么做。

4

1 回答 1

0

这里需要注意的一点是,取消一个 NSThread 不会立即终止它,它只会将它标记为终止。

相反,我要做的是NSURLConnection在. 然后,您可以使用它作为标志来终止操作的运行循环,并且下载将不会继续。NSOperationcancelisCanceledYES

Apple 在此处提供了关于使用 NSOperation 的出色技术说明https://developer.apple.com/library/ios/#technotes/tn2109/_index.html

于 2012-11-02T22:23:08.097 回答