解決方案來源:
ios - Swift : prepareForSegue with navigation controller - Stack Overflow
class MainViewController: UIViewController { /* Class Bluetooth CBCentralManager Control */ var BleConnectDevice: TBleDeviceConnect! = nil override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if( segue.identifier == "SegueOptions") { let destinationNavigationController = segue.destination as! UINavigationController let OptionsVc = destinationNavigationController.topViewController as! OptionsTableViewController OptionsVc.BleScannerDevice = self.BleScannerDevice } } }
class OptionsTableViewController: UITableViewController, UITextFieldDelegate { var BleScannerDevice: TBlueScannerDevice! = nil @IBAction func BtnBleOnClick(_ sender: Any) { DispatchQueue.main.async { self.BleScannerDevice.CentralManagerInit() } } }
class TBleDeviceConnect: NSObject, CBCentralManagerDelegate, CBPeripheralDelegate { var cCentralManager: CBCentralManager! = nil func CentralManagerInit() { cCentralManager = CBCentralManager.init(delegate: self, queue: nil, options: [CBCentralManagerOptionShowPowerAlertKey: true]) } }
沒有留言:
張貼留言