3

我打算为我的天气应用程序使用 TBXML。到目前为止,我已经将 NSXMLParser 与 NSURLConnection 一起使用,但我觉得这必须能够更简单、更快和更稳定(当前的代码是如此复杂,小问题不断出现,调试起来很麻烦)。

我一直在寻找异步解析器,最后在 raywenderlich 上发表了一篇文章(“如何为你的 iPhone 项目选择最好的 xml 解析器” ,这篇文章将我引向了 TBXML。通读文档,我看到你也可以用一个 URL 来初始化它,这将消除使用 NSURLConnection 的需要。我的第一个问题是:与此相比,使用 NSURLRequest 有什么优势?我将在启动 TBXML 之前先检查网络连接是否正常,这样不会有问题。

我的第二个问题是关于异步的:如果我只是调用 initWithURL 或 initWithData,它的处理会是异步的吗?从我所见,它没有委托调用,而是您直接从 TBXML 对象中获取元素。如果我在它完成之前尝试从中获取元素,它会简单地挂在那里吗?因为如果您使用 initWithURL(这几乎可以回答我的第一个问题),这可能会持续特别长时间。如果是这样,TBXML 是否可以安全地在另一个线程上运行(我假设它是)?

4

2 回答 2

1

如果你想异步解析它,你真的需要一个辅助线程、套接字和类似的东西可以在 runloop 上工作,因为它们只需要每隔一段时间检查一次是否有数据可供读取。解析器确实需要使用一些处理 powah ..

只需使用大中央调度,解析您的数据并使用它。我不能告诉你它的线程是否安全,但如果它没有说它不安全,那么它很可能是安全的。

于 2011-11-15T11:00:40.693 回答
-1

http://www.tbxml.co.uk/TBXML/TBXML_Free.html

点击链接并获得答案。

于 2012-01-10T09:18:19.223 回答