以下代码给了我一个Extra argument 'userinfo' in call错误。我看了@2762049327875005的建议

class SOViewController : UIViewController {

var currentLocation : CLLocation!

func setCurrentLocation(currentLocation: CLLocation) {

    if (self.currentLocation == currentLocation) {
        return
    }
    self.currentLocation = currentLocation

    dispatch_async(dispatch_get_main_queue(), NSNotificationCenter.defaultCenter().postNotificationName(aName: SOCurrentLocationDidChangeNotification, object: nil, userInfo: ["kSOLocationKey" : currentLocation]))


}


考虑到currentLocation是可选的,我不确定为什么会出现此错误。

最佳答案

为此修改代码:

dispatch_async(dispatch_get_main_queue(), { () -> Void in
    NSNotificationCenter.defaultCenter().postNotificationName(SOCurrentLocationDidChangeNotification, object: nil, userInfo: ["kSOLocationKey" : currentLocation])
})

10-08 05:55