Swift UIGestureRecognizer 表示法

标签 swift function methods parameters gesture

我正在尝试学习 Swift,这让我很困惑:

假设您要添加手势:

        faceView.addGestureRecognizer(UIPinchGestureRecognizer(target: faceView, action: "scale:")) 

这是缩放函数:

func scale(gesture: UIPinchGestureRecognizer) {

    if gesture.state == .Changed {
        scale *= gesture.scale
        gesture.scale = 1
    }

}

为什么刻度末尾有一个冒号(例如 action:"scale:")?是否引用了缩放函数接受 UIPinchGestureRecognizer 类型的参数这一事实?

如果是,那么冒号如何表示该参数?

最佳答案

手势识别器是参数。通过指定冒号,您表示您希望将类型(识别器)作为参数发送,正如您所想的那样。如果省略所述冒号,则需要一个不带识别器作为参数的函数。

关于Swift UIGestureRecognizer 表示法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34642773/

相关文章:

ios - Binding Protocols with Associated Objects - 使用 Swift 进行面向协议(protocol)的编程

swift - 遵守 Codable 会像遵守 NSCoding 那样免费为我提供 Core Data 值(value)转换吗?

java - 在Java中调用另一个类中ArrayList的方法

java - 向 java 构造函数与方法发送参数

ruby 显式方法返回类型

ios - 显示在 Collection View Controller 之间选择的图像

swift - 通过将 base 保持在相同的 y 来动画 SCNBox 高度

jquery - Jquery 中的函数传递表单元素的 ID 作为参数

c# - 在C#中调用MySql函数来验证用户名和密码

r - 如何将列名传递给函数 dplyr