swift 中的 object().func 和 object.func 有什么区别

What is the difference between object().func and object.func in swift

我是 swift 的新手,我想知道 geoCoder() :

之间是否有区别
      var geoCoder:CLGeocoder = CLGeocoder()
      geoCoder().reverseGeocodeLocation(newCoordinate, completionHandler: { (<#[CLPlacemark]?#>, <#NSError?#>) -> Void in
            <#code#>
        })

和 geroCoder:

      var geoCoder:CLGeocoder = CLGeocoder()
      geoCoder.reverseGeocodeLocation(newCoordinate, completionHandler: { (<#[CLPlacemark]?#>, <#NSError?#>) -> Void in
            <#code#>
        })

提前致谢

是的,有区别。第一个不会编译(即使你正确填写占位符),第二个会。

你不能说 geoCoder() 因为 geoCoder 不是函数。

(在 C++ 中,我们可以重载 () 运算符,使不是函数的东西表现得像函数。Swift 不允许这样做,因此您只能将 () 在真正起作用的东西之后。)