Swift протокол делегат возвращается ноль - PullRequest
1 голос
/ 01 июля 2019

Я установил точку останова в функции 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()

    }

}

в viewDidLoad в моем месте назначенияВК

_kestrelVC = [[KestrelDeviceConnect alloc]init];
[_kestrelVC setDelegate:self];

1 Ответ

0 голосов
/ 02 июля 2019

Проблема заключалась в инициализации нового экземпляра KestrelDeviceConnect, поэтому вместо _kestrelVC = [[KestrelDeviceConnect alloc]init]; получилось _kestrelVC = [KestrelDeviceConnect singleton]

...