swift 2中正确的动作语法是什么?

时间:2016-05-29 10:09:42

标签: ios swift2

我有这样的功能集:

  func alertControllerBackgroundTapped(myString: String) {
       ///do something in here
        })
    }

我想在这里调用:

 alert.view.superview?.addGestureRecognizer(UITapGestureRecognizer(target: self, action:#selector(CICViewController.alertControllerBackgroundTapped(_:))))

但显然这会给我一个错误,因为我没有正确设置我的参数(myString)。

这是什么语法?

非常感谢

1 个答案:

答案 0 :(得分:0)

由于您要将此操作添加到UITapGestureRecognizer,因此操作必须具有正确的签名 - 单个参数函数采用func handleTap(recognizer: UITapGestureRecognizer) { alertControllerBackgroundTapped("Hello!") } 而不返回任何内容。在识别器主体内部,您可以自由调用带有字符串的函数:

handleTap

添加alertControllerBackgroundTapped作为操作,而不是alert.view.superview?.addGestureRecognizer( UITapGestureRecognizer( target: self , action:#selector(CICViewController.handleTap(_:)) ) )

{{1}}