1
我必须下载并解析巨大的XML文件。下载数据发生在NSOperation中,一旦下载完成,NSOperation也会触发NSXMLParser。NSOperation内的NSXMLParser
现在,由于我想让用户随时取消整个过程,我添加了一个取消按钮,它会停止下载并取消操作。
现在我的问题是:即使我的NSOperation在后台运行,当NSXMLParser开始分析时,UI会被完全阻塞。所以触摸取消按钮是毫无意义的。
这是怎么发生的?因为我从NSOperation内部触发解析器(完成下载后),我认为解析也应该在后台执行?!
!!!编辑!:我做了一个测试。我检查了解析器运行的线程。这是主线。这怎么会发生? NSOperation在后台线程上启动,解析器如何在主线程上运行?我该如何避免这种情况?
尽快选择他作为答案 – 2013-05-08 12:31:05
我很乐意,但我必须等待2天;) – 2013-05-08 12:42:00