xcode8.0 + iOS10 の環境で、BLEが提供しているサービスの一覧をテーブルビューに表示させ、選択したサービスのcharacteristic情報を取得したいのですが上手くいきません。下のコードの最後付近でreadValueというメソッドを使うのだろうと思い、 self.peripheral.readValue( と書くと、 readValue(for: CBCharacteristics)と候補が出て来るのですが、forって何?という感じで具体的にどうすれば良いのか分かりません。。。 具体的なコーディングに合わせて、forの意味、カッコの中に何を入れれば良いのか等、教えて頂けますでしょうか。よろしくお願いいたします。
.... // ここまでの段階でBLEが提供しているサービスの一覧をテーブルビューに表示できています 次に // サービスの一覧からcharacterisitc情報を読みたいサービスを選択 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { let targetService = myService[indexPath.row] print("target_service: \(targetService)") // テーブルビューで選択されたサービスのcharacteristicの検索開始 self.peripheral.discoverCharacteristics(nil, for:targetService as! CBService) } func peripheral(_ peripheral: CBPeripheral, didDiscoverCharacteristicsFor service: CBService, error: Error?) { if error != nil { print("Characteristic NOT found : \(error)") //self.addMessage("Failed to discover characteristics " + error!.localizedDescription) return } // 見つかった時の処理 print("Characteristics found:") この辺りで見つけたCharacteristicの値を読む為の処理を書きたい }
あなたの回答
tips
プレビュー