2017-07-27 41 views
0

Swift if聲明適用於所有其他設備,但iPhone 4S與iOS 9.2.1。Swift如果條件不成功

這是代碼的集合,我使用:
我上面印刷一個布爾值,應用條件之前,和它打印0,但是編譯器直接跳轉到else部分,失敗的if聲明。

print(NSNumber.init(value: socketListener!.isConnected)) //prints 0 
if socketListener!.isConnected == false { 
    // skipped 
} else { 
    // executed 
} 

enter image description here

+2

爲什麼不要將它簡單地打印爲print(socketListener!.isConnected)'。你確定'socketListener'不是'nil'嗎? – Sulthan

+0

是的,它不是零。 –

+0

你是否檢查過它'if socketListener!.isConnected {}' –

回答

1

我建議你去長,但正確的,通過展開您的套接字監聽可選的,或者您也可以直接與長解纏連去:

guard let isConnected = socketListener.isConnected else { return } 

print(NSNumber.init(value: isConnected)) //prints 0 
if isConnected == false { 
    // Your code 
} else { 
    // Your code 
}