so habe ich das Web für die letzten paar Tage gesucht und kann immer noch nicht scheinen, eine Lösung zu finden, die funktioniert. Ich verwende Core Bluetooth und versuche, Daten von einem Arduino zu erhalten. Hier ist der Code:Core Bluetooth Funktion
//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)
}
}
ich die eingehenden Daten sehen konnte print(str)
ohne ein Problem mit, aber wie in der Welt würde ich übertrage diese empfangenen Daten an einem anderen schnellen Datei und es schließlich auf eine UILabel anzuzeigen? Jedes Mal, wenn ich versuche, str
außerhalb der Funktion zu verwenden, sagt Xcode weiterhin "erwartete Deklaration". Mein Versuch des Delegierten ist wie folgt:
protocol BluetoothSerialDelegate {
func serialDidReceiveString(message: String)
}
extension BluetoothSerialDelegate {
func serialDidReceiveString(message: String) {}
}
Mit dieser Variablen innerhalb der Klasse definiert, die die Funktion befindet sich in var delegate: BluetoothSerialDelegate!
Obwohl ich keine Fehler bekommen, wenn ich
func serialDidReceiveString(message: String) {
Label.text! = message
print(message)
}
Innerhalb des Viewcontroller nennen. , Ich kann die Daten nicht sehen, wie ich es getan habe, als es von der ursprünglichen Funktion angerufen hat. Was könnte das Problem sein? Danke im Voraus!
Vielen Dank! Dies ist jedoch mein erstes Projekt in Swift und viele der Informationen wurden von verschiedenen Foren zusammengeführt. Würden Sie mir bitte näher erläutern, wie ich das mit der Delegiertenmethode machen würde? Ich habe es versucht, aber festgestellt, dass, sobald die Funktion durch die andere Swift-Datei aufgerufen wird, es nicht mehr die empfangenen Daten anzeigt. Auch wenn Sie möchten, wäre ich mehr als glücklich, den Code mit Ihnen zu teilen. Vielen Dank! –
Ja bitte teilen Sie den Code – pbush25
Es ist nicht sehr hilfreich, zu Ihrem gesamten Projekt zu verknüpfen. Es kann nicht indexiert werden und andere Leute werden es in der Zukunft nicht sehen können. Fügen Sie Ihrer Frage die relevanten Codebeispiele als Bearbeitung hinzu. – pbush25