gpt4 book ai didi

swift - 将字符串转换为 URL(为什么结果变量为 nil)

转载 作者:行者123 更新时间:2023-12-03 16:04:36 26 4
gpt4 key购买 nike

我正在尝试从字符串值创建 URL 变量。我不明白为什么生成的 URL 为零

我已经设置了一个新的 Xcode macOS 项目,在 View 上放置了一个简单的按钮,为该按钮创建了一个操作并实现了以下代码。结果 url 为零。

我在 Swift Playground 中尝试了同样的方法,并且成功了......

    @IBAction func buttonClicked(_ sender: Any) {
let urlAsString = "http://www.google.de/"
let url = URL(string: urlAsString)

if url != nil {
// Do work...
}
}

urlAsString 是“http://www.google.de/ ”但是网址为零

debugger

最佳答案

您在调试器中发现了一个错误!

[此错误预计将在 Xcode 12.5 中修复。]

很容易重现它:

enter image description here

我们已在条件内的断点处暂停。显然,url 不是 nil,否则我们根本不会在这里。

证明这一点的另一种方法是在控制台中po url(请参见此屏幕截图的右下角):

enter image description here

尽管如此,url 在工具提示和变量列表中都显示为 nil。所以调试器只是在骗你:url 不为零。别担心,开心就好。您的代码运行良好。

编辑 该错误与 Swift Foundation 覆盖层有关。如果将 url 的声明更改为:

let url = NSURL(string: urlAsString)

...然后一切都按预期进行。

另请参阅 https://stackoverflow.com/a/58156592/341994

关于swift - 将字符串转换为 URL(为什么结果变量为 nil),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58155061/

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