Stack Overflow上存在很多与此错误相关的问题.我已经阅读了一些关于Optionals如何工作以及特别是这个错误的优秀帖子.但是,我没有找到任何关于最佳方法的信息,以确定哪个值被设置为nil并首先导致错误.
有没有什么好的调试技术可以找出哪个Optional导致了这个错误?
mar*_*rco 34
这里至少有一半答案(其他受访者请先阅读问题!):使用模拟器代替实际的iOS设备.
调试器似乎非常擅长指向使用maltreated的可选项导致问题...除非你像我一样,选择直接在iOS设备上运行代码.在后一种情况下,调试器将我置于一些汇编代码的中间,没有合理的堆栈跟踪.切换回模拟器会给出确切的代码行.
你的 Xcode 不会在错误的代码行处崩溃吗?
这并不能回答问题,但值得注意的是:
When you are not sure about an optional variable, you have to verify if it contains value or not, by using a pattern like this:
var myOptional : String?
if let aString = myOptional {
//do your work with aString.
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4770 次 |
| 最近记录: |