2016-11-30 25 views
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 ?? "") 
} 
+0

這是無處不在可選鏈接的問題:事情失敗默默。你應該使用條件綁定來解開'inputStream'和'outputStream',並處理它們爲'nil'的情況。 – Alexander

+0

我只是嘗試了條件綁定,我也沒有得到任何錯誤。我不知道爲什麼這不起作用。 – ClaytonAV

+0

請顯示您的更新代碼 – Alexander

回答

0

更新您的代理功能,這

func stream(_ aStream: Stream, handle eventCode: Stream.Event) { 
    //code 
}