0
這段代碼在Swift 2.2中沒有任何問題,但是在將我的代碼更新到Swift 3之後,它不再工作了。你們能幫我發現問題嗎?根本沒有連接。Swift 3 - InputStream
var inputStream: InputStream?
var outputStream: OutputStream?
func startNetworkCommunicationWithServer(){
let myApp = UIApplication.shared.delegate as! AppDelegate
let server = myApp.myDefaultHost.ip
let port = 9090
Stream.getStreamsToHost(withName: server, port: port, inputStream: &inputStream, outputStream: &outputStream)
inputStream?.delegate = self
inputStream?.schedule(in: RunLoop.current, forMode: RunLoopMode.defaultRunLoopMode)
inputStream?.open()
outputStream?.delegate = self
outputStream?.schedule(in: RunLoop.current, forMode: RunLoopMode.defaultRunLoopMode)
outputStream?.open()
//print(inputStream?.streamStatus ?? "")
}
這是無處不在可選鏈接的問題:事情失敗默默。你應該使用條件綁定來解開'inputStream'和'outputStream',並處理它們爲'nil'的情況。 – Alexander
我只是嘗試了條件綁定,我也沒有得到任何錯誤。我不知道爲什麼這不起作用。 – ClaytonAV
請顯示您的更新代碼 – Alexander