簡體   English   中英

Swift協議委托返回nil

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM