刚刚看到了可选(Optional)类型。自己写的测试代码如下:
var m_int:Optional<Int>; print("this is convert value \(m_int!)");代码在编译的时候出错了:
原因很简单,这里就是只是简单的声明了变量,但却没有赋值。
当执行 “强制解析可选” 时, 问题就出来了,无法完成对一个没有赋值的变量进行强制解析,顺理成章的就会出现EXC_BCD 错误。
注意:
1,在bject_c中,nil表示的是一个指向不存在的对象的指针。而在swift 中,表示空关键字为 nil ,它没有定义其他含义。
2,可选类型的变量或者常量在有值的时候返回值,没有值的时候不会返回任何东西,包括false。(有点绕? 多读几次吧)
3,nil不能用于非可选的常量或者变量,如果你的代码中可能会出现没有值的情况,请务必声明其为可选类型。如果声明了一个可选常量或者变量没有初始化,程序会默认赋值为nil
原文链接:https://www.f2er.com/swift/325371.html