我正在尝试向uibutton添加一个目标,但在尝试使用嵌套函数作为其操作时出错。
这是我的代码:
func createAddView() {
let addButton = UIButton()
func remove(sender: UIButton) {
print("Remove")
}
addButton.addTarget(self, action: #selector(remove(sender:)), for: .touchUpInside)
}
它警告我:
warning: No method declared with Objective-C selector 'remove'.
我需要“remove”函数嵌套在“createaddview”函数中,因为我需要删除和淡出“createaddview”函数中正在创建的一些其他uiview。
有人知道我怎么做吗?
最佳答案
您不能这样做,因为func remove
只存在于func createAddView
块中。
向多个#selector()
添加一个UIControl
没有限制,因此您可以在类块中声明func remove
,并在每次创建新按钮时将其添加为#selector
。