簡體   English   中英

導航到不同的ViewController時,BLE外圍設備斷開連接

[英]BLE Peripheral disconnects when navigating to different ViewController

我正在研究具有多個ViewControllers的BLE iOS(Swift)應用程序。 主ViewController有一個導航到TableViewController的按鈕,它已檢測到要連接的BLE設備。 但當我返回主視圖或其他視圖時,外圍設備斷開連接。 我試圖將外圍設備從TableViewController傳遞到主ViewController,但仍然斷開連接。

MainViewController:

var bleManager: BLEManager!
var peripheral: CBPeripheral!

override func viewDidLoad() {
    bleManager = BLEManager()
    super.viewDidLoad()
}

override func viewWillAppear(_ animated: Bool) {
    if let peripheral = self.peripheral {
        do {
            print("Value from display = \(peripheral.state)")
        }
    }
}

func setPeripheral(sent: CBPeripheral) {
    self.peripheral = sent
}


@IBAction func manageDevice(sender: UIButton)
{
    // 1. Instantiate TableViewController
    let tableViewController = self.storyboard?.instantiateViewController(withIdentifier: "TableViewController") as! TableViewController

    // 2. Set self as a value to delegate
    tableViewController.delegate = self

    // 3. Push SecondViewController
    self.navigationController?.pushViewController(tableViewController, animated: true)
}

如何將BLE活動繼續到下一個視圖控制器

創建一個Singleton類並在那里添加bleManager和外圍屬性:

class Shared { 
    private init(){ } 
    static let instance = Shared()
    var bleManager: BLEManager!
    var peripheral: CBPeripheral! 
}

您可以通過不同的控制器訪問同一個實例:

Shared.instance.bleManager = BLEManager() 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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