0
Ich versuche, Bewegungsdaten auszunutzen. Ich habe eine Test-App mit dem MotionKit Framework erstellt. print(testString)
druckt die x
Variablen korrekt in einem Intervall von einer Sekunde an die Konsole. Aber mein testLabel wird nicht einmal aktualisiert.Swift/MotionKit.framework/wie man Etikett aktualisiert
import UIKit
import MotionKit
class ViewController: UIViewController {
@IBOutlet weak var testLabel: UILabel!
let motionKit = MotionKit()
override func viewDidLoad() {
super.viewDidLoad()
motionKit.getAccelerometerValues(1.0) { (x, y, z) ->() in
let testString = String(x)
self.testLabel.text = testString
print(testString)
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
Was fehlt mir? Hilfe wird sehr geschätzt.
Ihnen danken. das hat es getan. Kannst du mir erklären wieso? also kopiere ich nicht nur, sondern verstehe es auch, ^^ –
Alle UI aktualisiert sollte auf MainThread erfolgen. Ihre motionKit.getAccelerometerValues wird im Hintergrund-Thread ausgeführt. Wenn Sie also Ihre Bezeichnung für diesen Thread aktualisieren, wird sie nicht auf UI aktualisiert. Um die Beschriftung des Hauptthreads zu aktualisieren, müssen Sie sie in dispatch_async (dispatch_get_main_queue()) umwandeln mainthread –
okay vielen Dank für Ihre Mühe :) –