有什么区别?并作为!在迅速

时间:2017-08-24 02:55:00

标签: swift

as as!解开前面的东西

var a = value as! Double 

a不是可选的

其中

var a = value as? Double

a是可选的Double?

1 个答案:

答案 0 :(得分:2)

as?会生成一个可选值,如果可以将其强制转换为指定类型,则为值;如果不能,则为nil

as!不生成可选项,它只生成指定类型的值,如果转换失败,则中止程序。说foo as! SomeType与说(foo as? SomeType)!基本相同(除了你得到更好的错误信息)。

你应该只使用as!,如果你100%肯定演员会成功(因为如果你错了,整个节目就会中止)。