我正在尝试从字符串值创建 URL 变量。我不明白为什么生成的 URL 为零
我已经设置了一个新的 Xcode macOS 项目,在视图上放置了一个简单的按钮,为该按钮创建了一个操作并实现了以下代码。结果 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/ http://www.google.de/“ 但
网址为零
debugger https://i.stack.imgur.com/HUATp.png
您在调试器中发现了一个错误!
[此错误预计将在 Xcode 12.5 中修复。]
重现它很容易:
我们在断点处暂停了inside条件。很明显url
is not nil
否则我们根本就不会在这里。
证明这一点的另一种方法是po url
在控制台中(请参见此屏幕截图的右下角):
尽管如此,url
显示为nil
在工具提示和变量列表中。所以调试器只是在骗你:url
不为零。别担心,开心就好。你的代码工作正常。
EDIT该错误与 Swift Foundation 覆盖层有关。如果您更改声明url
对此:
let url = NSURL(string: urlAsString)
...然后一切都按预期进行。
另请参阅https://stackoverflow.com/a/58156592/341994 https://stackoverflow.com/a/58156592/341994
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)