didMove(查看:SKView)和didMoveToView(查看:SKView)有什么区别?

时间:2016-11-14 01:54:50

标签: ios swift sprite-kit

在标题中,didMove(查看:SKView)和didMoveToView(查看:SKView)之间有什么区别?

据我所知,didMoveToView是方法,该视图是旧版(?)版本中的SKView类型。我不理解'查看:SKView'被传递给didMove方法的交易。是'到'和'查看'单独的变量? '到''是'didMove'的一部分吗?发生了什么事?

编辑:我知道他们都完成了同样的事情 - 但为什么'参数'通常会出现?这有益处吗?这似乎是不必要的并发症?

2 个答案:

答案 0 :(得分:5)

没有!

didMove(to view: SKView)是Swift 3语法。

didMoveToView(view: SKView)是Swift 2.x语法。

FYI许多其他参数和方法命令从Swift 2更改为Swift 3.可以找到一个非常好的更改列表here

使用

有争议但是对于大多数人来说,Swift 3语法更多可读,因为你执行didMove(to: xyzView)而Swift 2.x语法 less 可读做didMoveToView(xyzView)

答案 1 :(得分:5)

区别仅在于语法。

新的 Swift 3 语法为didMove(to view: SKView)

在斯威夫特:

  

每个函数参数都有参数标签和参数   name。参数标签在调用函数时使用;每   参数在函数调用中用其参数标签写入   在它之前。参数名称用于执行   功能。默认情况下,参数使用其参数名称作为其参数   论证标签。

func someFunction(argumentLabel parameterName: Int) {
    // In the function body, parameterName refers to the argument value
    // for that parameter.
}

因此,swift 3版中的to只是参数标签

可能你也看到了不需要插入parameterName的函数。

如果您不想要参数的参数标签,请为该参数写下划线(_)而不是显式参数标签。

func someFunction(_ firstParameterName: Int, secondParameterName: Int) {
    // In the function body, firstParameterName and secondParameterName
    // refer to the argument values for the first and second parameters.
}
someFunction(1, secondParameterName: 2)

希望有助于更好地理解这些修改:您可以找到更多详细信息here