変数aに単一の疑問符の代わりに二重疑問符を付けるとXcodeのプレイグラウンドがnilを返す理由を誰にでも教えてもらえますか? オーバーフローのため、結果は64でなくてはなりません。スワイプのNil合体オペレータが奇妙な結果を返す
スイフトバージョン2.2、 Xcodeのバージョン7.3.1、 OS Xバージョン10.11.6
import Cocoa
var b: Int8
var c: String? = "128"
var a: Int8?? = Int8(c!)
b = 64
func nilCoalescing() {
a != nil ? a! : b
}
nilCoalescing()
関数は何も返しません。どこでもnil coalescing operatorを使用していません。 –
しかし、var a:Int8? = Int8(c!)それは64を返します。 –
これは、nil合体演算子を使用する方法ではありません。あなたは 'var a:Int8(c!)?? "おそらくあふれた"。 – brandonscript