我有这样的功能集:
func alertControllerBackgroundTapped(myString: String) {
///do something in here
})
}
我想在这里调用:
alert.view.superview?.addGestureRecognizer(UITapGestureRecognizer(target: self, action:#selector(CICViewController.alertControllerBackgroundTapped(_:))))
但显然这会给我一个错误,因为我没有正确设置我的参数(myString)。
这是什么语法?
非常感谢答案 0 :(得分:0)
由于您要将此操作添加到UITapGestureRecognizer
,因此操作必须具有正确的签名 - 单个参数函数采用func handleTap(recognizer: UITapGestureRecognizer) {
alertControllerBackgroundTapped("Hello!")
}
而不返回任何内容。在识别器主体内部,您可以自由调用带有字符串的函数:
handleTap
添加alertControllerBackgroundTapped
作为操作,而不是alert.view.superview?.addGestureRecognizer(
UITapGestureRecognizer(
target: self
, action:#selector(CICViewController.handleTap(_:))
)
)
:
{{1}}