[英]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.