0

我有两个视图:一个显示所有发现的设备的中央 TableView 和一个在用户选择连接到发现的设备之一时加载的 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

0

我自己发现的。问题是我必须在主 tableView 中再次设置的 peripheral.delegate。现在一切都很顺利。

也许这有助于其他新手。

于 2014-10-28T11:17:58.123 回答