as as!解开前面的东西
var a = value as! Double
a不是可选的
其中
var a = value as? Double
a是可选的Double?
答案 0 :(得分:2)
as?
会生成一个可选值,如果可以将其强制转换为指定类型,则为值;如果不能,则为nil
。
as!
不生成可选项,它只生成指定类型的值,如果转换失败,则中止程序。说foo as! SomeType
与说(foo as? SomeType)!
基本相同(除了你得到更好的错误信息)。
你应该只使用as!
,如果你100%肯定演员会成功(因为如果你错了,整个节目就会中止)。