假设我有以下函数:
@objc func action(_ gesture : UITapGestureRecognizer){}
现在要调用函数,我们通常使用这样的语法:
let mygesture = UITapGestureRecognizer(target: self, action: #selector(action(_:)))
语法action(_:)
实际上是什么意思?我们如何传递函数所需的输入参数gesture
的值?它不是必须是类似action(_: somevalue)
的东西吗
根据我的猜测,我们只是通过编写action(_:)
来提供对函数的访问。当敲击手势被触发时,函数实际上是通过传递mygesture
变量本身来调用的。这是正确的吗?
你说得对。您正在将函数的指针传递给手势识别器。