Ja, ich habe eine previous question zu diesem Thema gesehen, aber ich kann immer noch nicht funktionieren. Mein bisheriger Swift2 Code war ...Verwenden von startDeviceMotionUpdates unter Swift 3
motionMgr.startDeviceMotionUpdatesToQueue(NSOperationQueue(), withHandler: handleMove)
, die genannt:
func handleMove(motion: CMDeviceMotion?, error: NSError?) {
...
}
Dies hat unter swift3 geändert, und jetzt die startDeviceMotionUpdatesToQueue
verwendet einen Verschluss. Ich kann nicht für das Leben von mir herausfinden, wie ich meine bestehende Methode nennen soll. Ich realisiere die NSError
wurde Error
und andere kleinere Änderungen, aber die Syntax des Aufrufs von der Schließung hat mich sehr verwirrt.
Dank @nathan. Der Schlüssel war für mich die nachlaufende Syntax, die ich viel einfacher fand. Ich habe einfach den Func-Call in den Trailing-Closing gesetzt und das war's! –
motionMgr.startDeviceMotionUpdates (unter Verwendung von: CMAttitudeReferenceFrame.xTrueNorthZVertical, zu: OperationQueue()) { \t \t \t \t deviceMotion, Fehler in self.handleMove (motion: deviceMotion, Fehler: Fehler) \t \t \t} –