0

2 つのビューがあります。検出されたすべてのデバイスが表示される中央の TableView と、ユーザーが検出されたデバイスの 1 つに接続することを選択したときに読み込まれる detailView です。

次の時点まで機能します。

  • デバイスの検出
  • デバイスに接続
  • サービス、特性を読み取り、それらを購読する
  • char の値が正常に読み取られ、detailView に表示されています。

「戻る」ボタンを介してdetailViewから戻ると、コールバック関数

 override func viewDidAppear(animated: Bool) {
    if(!firstStart){
        tableView.reloadData()
        println("appeared!")
        discoverDevices()
    }

}

呼び出されますが、その後 EXC_BAD_ACCESS で終了します。私の DiscoverDevices() 関数は次のとおりです。

func discoverDevices() {
    println("discovering devices......")
    centralManager.scanForPeripheralsWithServices(nil, options: nil)
}

「centralManager.scanForPeripheralsWithServices(nil, options: nil)」にエラーがあるようですが、コールバック後のみです。最初からすべて問題ありません。どこかにデリゲートを設定する必要がありますか? 「EXC_BAD_ACCESS」エラーで何もわかりません。

centralManager を再初期化する必要がありますか? 再起動する必要がありますか?

事前に助けてくれてありがとう。

よろしく、 スティービル

4

1 に答える 1