Wie kann ich mich richtig übergeben wird ein block-handler in diese Funktion in Swift?

Nach der Lektüre über Swift Verschlüsse und versuchen, zu verwenden die gleiche syntax übergeben Sie eine anonyme Funktion, in der handler-ich kann es nicht kompilieren. Wie kann ich korrekt neu erstellen, die folgende Funktion objective-c code in Swift?

Hier ist die objective-c-code, der ich bin, versuchen, neu zu erstellen, die in swift

 [self.motionManager
     startAccelerometerUpdatesToQueue:[[NSOperationQueue alloc] init]
     withHandler:^(CMAccelerometerData *data, NSError *error)
     {

         dispatch_async(dispatch_get_main_queue(),
                        ^{

                            float xx = data.acceleration.x;
                            float yy = -data.acceleration.y;
                            float angle = atan2(yy, xx);

                            self.dropitBehavior.gravity.angle = angle;
                         });
     }
 ];

Hier sind ein paar Fehlversuchen auf neu zu erstellen, den code in swift:

self.motionManager.startAccelerometerUpdatesToQueue(NSOperationQueue(), withHandler: {
            (data: CMAccelerometerData(), error: NSError()) -> Void = {
                dispatch_async(dispatch_get_main_queue()) {
                    var xx = data.acceleration.x
                    var yy = -data.acceleration.y
                    var angle = atan2(yy, xx)

                    self.dropitBehavior.gravity.angle = angle
                }
            }
  })

self.motionManager.startAccelerometerUpdatesToQueue(NSOperationQueue(), withHandler: {
            (data: CMAccelerometerData(), error: NSError()) {
                dispatch_async(dispatch_get_main_queue()) {
                    var xx = data.acceleration.x
                    var yy = -data.acceleration.y
                    var angle = atan2(yy, xx)

                    self.dropitBehavior.gravity.angle = angle
                }
            }
 })
InformationsquelleAutor Nearpoint | 2014-06-15
Schreibe einen Kommentar