Ios 检查是否调用了委托方法
我有以下连接到TCP套接字的功能(Raspberry Pi上的服务器,我通过接入点直接连接到该服务器) 当我连接到Raspberry Pi的Wifi热点时,会调用以下委托方法,我可以开始写入数据:Ios 检查是否调用了委托方法,ios,swift,sockets,nsstream,Ios,Swift,Sockets,Nsstream,我有以下连接到TCP套接字的功能(Raspberry Pi上的服务器,我通过接入点直接连接到该服务器) 当我连接到Raspberry Pi的Wifi热点时,会调用以下委托方法,我可以开始写入数据: func stream(_ aStream: Stream, handle eventCode: Stream.Event) { if aStream === inputStream { switch eventCode { case Stream.Event.
func stream(_ aStream: Stream, handle eventCode: Stream.Event) {
if aStream === inputStream {
switch eventCode {
case Stream.Event.errorOccurred:
print("input: ErrorOccurred: \(aStream.streamError?.localizedDescription)")
self.Label.text = "Disconnected"
case Stream.Event.openCompleted:
print("input: OpenCompleted")
case Stream.Event.hasBytesAvailable:
print("input: HasBytesAvailable")
// Here you can `read()` from `inputStream`
default:
break
}
}
else if aStream === outputStream {
switch eventCode {
case Stream.Event.errorOccurred:
print("output: ErrorOccurred: \(aStream.streamError?.localizedDescription)")
self.Label.text = "Disconnected"
case Stream.Event.openCompleted:
print("output: OpenCompleted")
case Stream.Event.hasSpaceAvailable:
// print("output: HasSpaceAvailable")
// Here you can write() to `outputStream`
self.write(f: l)
self.write(f: r)
default:
break
}
}
}
但当我连接到另一个WiFi时,不会调用此方法。
如何检测此方法未被调用,以便提醒用户他未连接,应该再次尝试连接?如何检测?我假设print/alertcontroller/assert不起作用?编写一些代码,检测是否调用了stream()方法,如果没有调用,我想使用警报通知用户他连接到了错误的服务器network@DanielGretzke使用断点。检测是否调用了方法很容易:放置一个打印、消息、断点,或者,在方法定义的开始处。检测何时不调用方法仍然取决于上下文:代码中调用的流方法在哪里?它是否位于具有完成和错误处理程序的块中?因为这是您可能需要添加代码的地方,而不是方法本身。能否显示实际调用委托方法的代码?在StreamDelegate中调用流(:handle:)。但我找不到在流(:handle:)方法未被调用时调用的错误处理程序
func stream(_ aStream: Stream, handle eventCode: Stream.Event) {
if aStream === inputStream {
switch eventCode {
case Stream.Event.errorOccurred:
print("input: ErrorOccurred: \(aStream.streamError?.localizedDescription)")
self.Label.text = "Disconnected"
case Stream.Event.openCompleted:
print("input: OpenCompleted")
case Stream.Event.hasBytesAvailable:
print("input: HasBytesAvailable")
// Here you can `read()` from `inputStream`
default:
break
}
}
else if aStream === outputStream {
switch eventCode {
case Stream.Event.errorOccurred:
print("output: ErrorOccurred: \(aStream.streamError?.localizedDescription)")
self.Label.text = "Disconnected"
case Stream.Event.openCompleted:
print("output: OpenCompleted")
case Stream.Event.hasSpaceAvailable:
// print("output: HasSpaceAvailable")
// Here you can write() to `outputStream`
self.write(f: l)
self.write(f: r)
default:
break
}
}
}