2017-08-24 11 views
-2

as! aはとしての違いは何ですか?そして!スウィフトで

var a = value as! Double 

のようにその前にされていないで、これまで何アンラップaは任意の二重である

var a = value as? Double 

オプション

+1

https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/TypeCasting.html –

+0

https://stackoverflow.com/questions/29637974/whats-the-difference-between-as -as-and-as –

+0

https://stackoverflow.com/a/40388434/3141234 – Alexander

答えて

1

as?は任意の値を生成します。これは、指定した型にキャストできる場合は値、できない場合はnilです。

as!はオプションではなく、指定された型の値を生成します。キャストに失敗すると、プログラムは異常終了します。 foo as! SomeTypeと言っても、基本的には(foo as? SomeType)!と言っても同じです(より良いエラーメッセージが出る点を除いて)。

あなたが間違っていると、プログラム全体が終了するので、キャストが成功することを100%確信している場合は、as!を使用するべきです。

関連する問題