我刚刚注意到Xcode11的奇怪行为,我正在Xcode 10和Xcode 11中执行相同的代码。两个版本的屏幕截图见下文。我正在从字符串创建一个url,当我把一个调试器,并检查myUrl的值,它显示nil,虽然在非常下一行,它通过nil检查和控制进入非nil的情况。也可以查看控制台。有没有人已经面临过这种类型的问题?或者我做错了什么。已经清除缓存,导出数据,清理编译,重启Xcode。不要混淆断点的位置,两者都是用不同的系统捕获的。先谢谢你。
a11xaf1n1#
这是一个已知的bug,影响LLDB(Xcode调试器)以及REPL。它纯粹是一个显示问题:https://github.com/apple/llvm-project/issues/4477https://github.com/apple/llvm-project/issues/4479且看:Instantiated optional variable shows as nil in Xcode debugger现在一个简单的解决方法是通过桥接的Objective C类型。这个bug只存在于Swift Foundation覆盖类型中。所以在这种情况下,只需要转换为NSURL。例如:
但是:
此错误将在Xcode 12.5中修复。
vzgqcmou2#
我用一个答案,因为评论会太长,但会更合适。我目前( Catalina ,xcode 11.1)面临着许多类似的问题,除了调试器的速度普遍变慢之外。无论如何,要确定的是:
2条答案
按热度按时间a11xaf1n1#
这是一个已知的bug,影响LLDB(Xcode调试器)以及REPL。它纯粹是一个显示问题:
https://github.com/apple/llvm-project/issues/4477
https://github.com/apple/llvm-project/issues/4479
且看:
Instantiated optional variable shows as nil in Xcode debugger
现在一个简单的解决方法是通过桥接的Objective C类型。这个bug只存在于Swift Foundation覆盖类型中。所以在这种情况下,只需要转换为NSURL。
例如:
但是:
此错误将在Xcode 12.5中修复。
vzgqcmou2#
我用一个答案,因为评论会太长,但会更合适。
我目前( Catalina ,xcode 11.1)面临着许多类似的问题,除了调试器的速度普遍变慢之外。
无论如何,要确定的是: