嘿伙计,所以我在设置委托时遇到了NSObject类文件的问题。
class NetWorkController: NSObject, StreamDelegate{)
当我尝试设置
时inputStream!.delegate = self
但是,如果我在我的UIViewcontroller类中执行相同的操作
class ConnectPlayerViewController: UIViewController, StreamDelegate {}
我不明白为什么它在这里工作但不在我的NSObject课程中,感谢您提前获得帮助。
继承了StreamDelegate处理函数:
func stream(_ aStream: Stream, handle eventCode: Stream.Event) {
DispatchQueue.main.async(execute: {
if aStream == self.inputStream {
self.inputStreamHandle(eventCode)
}
else if aStream == self.outputStream {
self.outputStreamHandle(eventCode)
}
})
}
答案 0 :(得分:0)
我想你有
NetWorkController().connect()
在VC的某些方法中。由于Automatic Reference Counting,这不起作用。方法返回后,您的对象将“消失”。
您需要将其声明为属性:
// outside of any method, at class level
let controller = NetWorkController()
// in some method
controller.connect()
现在应该调用委托方法。