У меня есть 2 ViewController (ViewController и SecondViewController).
SecondViewController - это tableView, который отображается как всплывающее окно. TableView перечислит все обнаруженные устройства BLE, и когда пользователь нажмет на ячейку, он подключится к выбранному устройству.
Все работает нормально, пока пользователь не закроет всплывающее окно, ошибка ниже будет напечатана немедленно, когда поповер уволен. [CoreBluetooth] XP C соединение недействительно
Я использую делегат протокола для передачи периферийных устройств и характеристик c
Это то, что у меня есть в моем SecondViewController :
protocol PassDataDelegate {
func passPeripheral(_ deviceToConnect: CBPeripheral!)
func passCharacteristic(_ char: CBCharacteristic!)
}
class SecondViewController: UIViewController, CBPeripheralDelegate {
...
var peripherals = Array<CBPeripheral>()
var deviceToConnect: CBPeripheral?
var char: CBCharacteristic?
var deviceReady: Bool?
var delegate: PassDataDelegate?
...
}
//passing variables
delegate?.passPeripheral(deviceToConnect!)
delegate?.passCharacteristic(char!)
Это то, что у меня есть в моем ViewController:
extension ViewController: PassDataDelegate {
func passPeripheral(_ device: CBPeripheral!) {
self.device = device
}
func passCharacteristic(_ characteristic: CBCharacteristic!) {
self.characteristic = characteristic
self.deviceReady = true
}
}
Где-то в моем ViewController я использую deviceReady в операторе If. но он показывает, что Поток 1: Неустранимая ошибка: Неожиданно обнаружен ноль при неявном разворачивании необязательного значения .
Похоже, что протокол c не вызван?
Могу я получить помощь?