首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSXMLParser内部NSOperation

NSXMLParser内部NSOperation
EN

Stack Overflow用户
提问于 2013-05-08 09:09:39
回答 1查看 263关注 0票数 1

我必须下载并解析巨大的XML文件。下载数据发生在NSOperation中,下载完成后还会触发NSXMLParser。

现在,由于我想让用户能够在任何时候取消整个进程,所以我添加了一个cancel按钮,它停止下载并取消操作。

现在我的问题是:即使我的NSOperation在后台运行,当NSXMLParser开始解析时,UI会被完全阻塞。所以触摸“取消”按钮是没有意义的。

怎么会发生这种事?由于我正在从NSOperation内部触发解析器(下载完成后),所以我认为解析也应该在后台执行?!

!编辑!:我做了一个测试。我检查了解析器在上面运行的线程。这是主线。怎么会发生这种事?NSOperation是在后台线程上启动的,解析器怎么会在主线程上?我怎么才能避免这种情况呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-08 10:44:00

解决了。问题是,NSURLConnection显然是在主线程上调用它的委托,因此每个后续的方法调用也要在主线程上执行。

因此,我只需要显式地将我的方法再次调用到后台。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16436706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档