gpt4 book ai didi

ios - 为什么调用 XMLParser(contentsOfURL : rssURL) is giving error: 'Argument passed to call that takes no arguments' ?

转载 作者:行者123 更新时间:2023-11-29 05:47:20 24 4
gpt4 key购买 nike

我一直在学习本教程 https://www.appcoda.com/building-rss-reader-using-uisplitviewcontroller-uipopoverviewcontroller/其中一部分讨论了使用 NSXMLParser 来解析 RSS 提要:

这是原始的代码片段方法:

func startParsingWithContentsOfURL(rssURL: NSURL) {
let parser = NSXMLParser(contentsOfURL: rssURL)
parser.delegate = self
parser.parse()
}

但是,我看到 NSXMLParser 现在是 XMLParser。我一直在尝试这个:

 func startParsingWithContentsOfURL(rssURL: NSURL) {
func startParsingWithContentsOfURL(rssURL: NSURL) {
let parser = XMLParser(contentsOfURL: rssURL)
parser.delegate = self
parser.parse()
}
}

这是我在其他地方看到的模型,但它给出了错误“传递给不带参数的调用的参数”。虽然我认为该错误是不言自明的,但我在其他地方以类似的形式看到了此类代码,这些代码似乎(显然)对其他人有用。

我尝试的另一件事是:

let parser = XMLParser.init(contentsOf: rssURL)

但是我遇到了同样的错误 - 知道我做错了什么吗?

最佳答案

你应该更好地找到一篇现代文章,而不是观看一些古代 swift 的考古遗迹。

如您所见,NSXMLParser 已重命名为 XMLParser,并引入了新类型 URL

func startParsingWithContentsOfURL(rssURL: URL) {
guard let parser = XMLParser(contentsOf: rssURL) else {
//...
return
}
parser.delegate = self
parser.parse()
}

请查看the latest documentations .


更新

请尝试这个:

func startParsingWithContentsOfURL(rssURL: URL) {
guard let parser = Foundation.XMLParser(contentsOf: rssURL) else {
//...
return
}
parser.delegate = self
parser.parse()
}

在非常非常老的教程中,您定义了一个类XMLParser。因此,您可能需要区分两个 XMLParser,Apple 的和您自己的。

我强烈、强烈、非常强烈建议您找到为现代 Swift 编写的现代教程或示例。

关于ios - 为什么调用 XMLParser(contentsOfURL : rssURL) is giving error: 'Argument passed to call that takes no arguments' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56013291/

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