我刚刚注意到Xcode11的怪异行为,我正在Xcode 10和Xcode 11中执行相同的代码。
有关两个版本,请参见下面的屏幕快照。
我正在从String创建一个url,当我放入调试器并检查myUrl的值时,它显示为nil,尽管在下一行它通过nil,并且控制进入not nil情况。
也请参阅控制台。
有人遇到过此类问题吗?或我做错了什么。
P.S:已清除缓存,派生数据,清理构建,重新启动Xcode。不要与断点的位置混淆,它们都是用不同的系统捕获的。
谢谢。
答案 0 :(得分:6)
这是一个已知的错误,会影响LLDB(Xcode调试器)以及REPL。纯粹是显示问题:
https://bugs.swift.org/plugins/servlet/mobile#issue/SR-11593
https://bugs.swift.org/plugins/servlet/mobile#issue/SR-11546
然后看:
Instantiated optional variable shows as nil in Xcode debugger
目前,一个简单的解决方法是通过桥接的Objective C类型。该错误仅与Swift Foundation覆盖类型有关。因此,在这种情况下,只需将其强制转换为NSURL。
例如:
但是:
答案 1 :(得分:0)
我使用的是答案,因为评论太长了,但是 会更合适。
除了调试器的总体速度下降外,我目前(卡塔琳娜,xcode 11.1)还面临许多类似的问题。
反正可以确定: