私は過去のカップルの日のためにウェブを検索していますが、まだ動作するソリューションを見つけることができないようです。私はコアのBluetoothを実行していて、Arduinoからデータを取得しようとしています。ここでは、コードです:コアのBluetooth機能
//Reading Bluetooth Data
func peripheral(peripheral: CBPeripheral, didUpdateValueForCharacteristic characteristic: CBCharacteristic, error: NSError?) {
let data = characteristic.value
if let str:String = String(data: data!, encoding: NSUTF8StringEncoding) {
self.delegate?.serialDidReceiveString(str)
print(str)
}
}
私は問題なくprint(str)
を使用して、着信データを見ることができましたが、どのように世界で私はUILabel上に、これは別の迅速なファイルにデータを受信した転送し、最終的にそれを表示するでしょうか?関数の外でstr
を使用しようとするたびに、Xcodeは "予期した宣言"を伝え続けます。 。私はエラーを取得していないものの機能はvar delegate: BluetoothSerialDelegate!
に位置しているクラス内で定義され、この変数で
protocol BluetoothSerialDelegate {
func serialDidReceiveString(message: String)
}
extension BluetoothSerialDelegate {
func serialDidReceiveString(message: String) {}
}
、私はViewControllerを内部
func serialDidReceiveString(message: String) {
Label.text! = message
print(message)
}
を呼び出すとき:デリゲートの私の試みは、以下であります最初の関数から呼び出されたときのようにデータを見ることができません。何が問題になる可能性がありますか?ありがとうございました!
ありがとうございました!しかし、これはSwiftの私の最初のプロジェクトであり、多くの情報がさまざまなフォーラムでまとめられています。デリゲートメソッドでこれをどうやってやるのか、もっと詳しく説明してください。私はそれを試みたが、関数が他の迅速なファイルを介して呼び出されると、受信したデータは表示されなくなることが分かった。また、あなたが望むなら、私はコードをあなたと共有することがより喜ばしいでしょう。どうもありがとうございました! –
はいコードを共有してください – pbush25
あなたのプロジェクト全体にリンクするのはあまり役に立ちません。それは索引付けすることはできず、他の人々は将来それを見ることができません。あなたの質問に関連するビットのコードを編集として追加してください。 – pbush25