我正在尝试向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

09-11 19:06
查看更多