ios - Xcode 11 调试器的奇怪行为 - 有值时将值显示为 nil
问题描述
我刚刚注意到 Xcode11 的奇怪行为,我在 Xcode 10 和 Xcode 11 中执行相同的代码。
请参阅以下两个版本的屏幕截图。
我正在从字符串创建一个 url,当我放置一个调试器并检查 myUrl 的值时,它显示为 nil,尽管在下一行它通过了 nil 检查并且控制进入非 nil 情况。
也见控制台。
有没有人已经遇到过这类问题?或者我做错了什么。
PS:已经清除缓存,派生数据,清理构建,重启Xcode。不要与断点的位置混淆,两者都是用不同的系统捕获的。
提前致谢。
解决方案
这是一个已知的错误,影响 LLDB(Xcode 调试器)以及 REPL。这纯粹是一个显示问题:
https://bugs.swift.org/plugins/servlet/mobile#issue/SR-11593
https://bugs.swift.org/plugins/servlet/mobile#issue/SR-11546
并看到:
目前一个简单的解决方法是通过桥接的 Objective C 类型。该错误仅适用于 Swift Foundation 覆盖类型。所以在这种情况下,只需转换为 NSURL。
例如:
但:
此错误计划在 Xcode 12.5 中修复。
推荐阅读
- google-sheets-api - 在 GoogleSheets API v4 中使用 findReplace 函数需要什么范围?
- python - 无法从 CLI 或 pyodbc 连接到在 Mac 上的 docker 容器中运行的 Mssql 服务器 - Azure DS 有效?
- matlab - 给定一个 x 坐标,如何从具有该 x 坐标的线数组中删除一条线
- javascript - splice() 的问题,当我只想单个元素时,它返回一个包含单个元素的数组
- r - r - 如何删除 DT::datatable 中标题和正文之间的水平线
- jquery - 如何将每个元素包装在带有属性的标签中?
- google-chrome-devtools - 使用 Chrome 开发工具编辑页面的 CSS 后,我可以查看我所做的具体更改吗?
- flutter - 在 SearchDelegate 中显示 Snackbar
- android - IllegalStateException:已添加的片段未使用 try-catch 捕获
- javascript - 如何使用简单的循环和“if”语句显示数组对象?