一尘不染

Swift方法参数中有3项是什么?

swift

例:

mutating func moveByX(deltaX: Double, y deltaY: Double)

第一个参数采用Double并将其保存在该方法范围中deltaX。但是,什么是ydeltaY

我阅读了这篇文章,却找不到任何相关内容:https
:
//developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Methods.html


阅读 172

收藏
2020-07-07

共1个答案

一尘不染

这就是Swift模仿目标C的命名参数(参数的伪命名)的方式。它很容易分解。

mutating func moveByX(deltaX: Double, y deltaY: Double)
                1        2      3     4   5       6
  1. 方法名称的开头
  2. 第一个参数名称
  3. 第一个参数类型
  4. 方法名称的第二部分
  5. 第二个参数名称
  6. 第二参数类型

在此示例中,该方法实际上称为moveByX:y:。等效的Objective C方法定义如下所示。

- (void)moveByX:(Double)deltaX y:(Double)deltaY

调用此方法时,名称的第二部分将与其余参数一起单独包含。

var dub = Double(0.5)
moveByX(dub, y: dub)
2020-07-07