변수 A에 대한 단일 물음표 대신 이중 물음표를 넣으면 Xcode의 놀이터에서 nil을 반환하는 이유를 알려줄 수 있습니까? 오버플로 결과는 64가 아니어야합니다.신속한 연산자를 병합하지 않으면 이상한 결과가 발생합니다.
스위프트 버전 2.2 엑스 코드 버전 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 통합 연산자를 사용하지 않습니다. –
하지만 var a : Int8? = Int8 (c!)는 64를 반환합니다. –
이것은 nil 병합 연산자를 사용하는 방법이 아닙니다. 당신은'var a : Int8 (c!) '와 같은 것을 원할 것입니다. "아마 넘쳐". – brandonscript