[英]Swift protocol delegate returning nil
I set a breakpoint in the didConnect function to print out the value of delegate, and it is coming back as nil
and I have not clue why 我在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()
}
}
in viewDidLoad
in my destination VC 在我的目标VC中的
viewDidLoad
中
_kestrelVC = [[KestrelDeviceConnect alloc]init];
[_kestrelVC setDelegate:self];
The problem was initializing a new KestrelDeviceConnect
instance, so instead of having _kestrelVC = [[KestrelDeviceConnect alloc]init];
问题是初始化一个新的
KestrelDeviceConnect
实例,因此而不是_kestrelVC = [[KestrelDeviceConnect alloc]init];
what worked was _kestrelVC = [KestrelDeviceConnect singleton]
起作用的是
_kestrelVC = [KestrelDeviceConnect singleton]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.