gpt4 book ai didi

swift - NSXMLParser contentsOfURL 与数据

转载 作者:搜寻专家 更新时间:2023-11-01 07:18:14 24 4
gpt4 key购买 nike

从服务器解析 XML 文件时,我总是使用“init(data: Data)

 let url = URL(string: urlString)
let data = NSData(contentsOf: url!)
let parser = XMLParser(data: data as! Data)

我阅读了文档并看到了这个方法“init?(contentsOf: URL)

let url = URL(string: urlString)
let parser = XMLParser(contentsOf: url!)

问题是我是否不必要地从 URL 内容转换为数据对象,我也可以只从 URL 初始化?或者,创建数据对象并从中解析是否有任何好处?

最佳答案

这两个变体之间没有语义差异。

对于 http(s) url,您应该更喜欢 init(data:)XMLParser(data:),但您不应该加载你用 NSData(contentsOf:) 数据。原因是 contentsOf: 变体将阻塞具有同步请求的当前线程。您应该改为使用 NSURLSession 异步加载数据。

您应该只对文件 url 使用XMLParser(contentsOf:)Data(contentsOf:)

关于swift - NSXMLParser contentsOfURL 与数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40672865/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com