[英]Swift protocol delegate returning nil
我在didConnect函数中设置了一个断点以打印出委托的值,并且它返回为nil
,我不知道为什么
@objc protocol KestrelDeviceConnectDelegate {
func didConnect()
func didDisconnect()
}
@objcMembers
class KestrelDeviceConnect: NSObject{
static let singleton = KestrelDeviceConnect()
public weak var delegate: KestrelDeviceConnectDelegate?
func centralManager(_ central: CBCentralManager, didConnect peripheral: CBPeripheral) {
self.isInitialReading = false
self.kestrelIsConnected = true
kestrelPeripheral.discoverServices(nil)
delegate?.didConnect()
}
}
在我的目标VC中的viewDidLoad
中
_kestrelVC = [[KestrelDeviceConnect alloc]init];
[_kestrelVC setDelegate:self];
问题是初始化一个新的KestrelDeviceConnect
实例,因此而不是_kestrelVC = [[KestrelDeviceConnect alloc]init];
起作用的是_kestrelVC = [KestrelDeviceConnect singleton]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.