Ios 向闭包添加按钮

Ios 向闭包添加按钮,ios,swift,closures,Ios,Swift,Closures,我有一个问题,当我从闭包中添加一个按钮时,函数不会执行: 我在这里创建按钮(关闭按钮): 以下是函数: @objc private func closeTest(_ sender: UIButton) { print("Test") } 以下是限制条件: topContainer.addSubview(CloseButton) CloseButton.centerXAnchor.constraint(equalTo: topContainer.centerXAnch

我有一个问题,当我从闭包中添加一个按钮时,函数不会执行:

我在这里创建按钮(关闭按钮):

以下是函数:

@objc private func closeTest(_ sender: UIButton) {
         print("Test")
     }
以下是限制条件:

topContainer.addSubview(CloseButton)
CloseButton.centerXAnchor.constraint(equalTo: topContainer.centerXAnchor).isActive = true
CloseButton.centerYAnchor.constraint(equalTo: topContainer.centerYAnchor).isActive = true
CloseButton.heightAnchor.constraint(equalTo: topContainer.heightAnchor, multiplier: 0.8).isActive = true

无法复制请分享如何添加
topContainer
?除了闭包,它还能用其他方式工作吗?@mick1996是的,topContainer有问题,这个添加子视图代码从哪里调用。在初始化self的实例属性时,不能将按钮目标设置为self,因为self正是尚不存在的对象。我认为编译器没有阻止你是一个错误。添加
lazy
以使此项工作正常
private lazy var CloseButton
无法复制请分享如何添加
topContainer
?除了闭包,它还能用其他方式工作吗?@mick1996是的,topContainer有问题,这个添加子视图代码从哪里调用。在初始化self的实例属性时,不能将按钮目标设置为self,因为self正是尚不存在的对象。我认为编译器没有阻止你是一个错误。添加
lazy
以使此项工作正常<代码>专用按钮
topContainer.addSubview(CloseButton)
CloseButton.centerXAnchor.constraint(equalTo: topContainer.centerXAnchor).isActive = true
CloseButton.centerYAnchor.constraint(equalTo: topContainer.centerYAnchor).isActive = true
CloseButton.heightAnchor.constraint(equalTo: topContainer.heightAnchor, multiplier: 0.8).isActive = true