SquareBox.swift
class SquareBox {
func createBoxes() {
for _ in 0..<xy {
let button = UIButton()
button.backgroundColor = .white
button.setTitleColor(UIColor.black, for: .normal)
button.layer.borderWidth = 0.5
button.layer.borderColor = UIColor.black.cgColor
stack.addArrangedSubview(button)
button.addTarget(self, action: #selector(click(sender:)) , for: .touchUpInside)
}
}
@objc func click(sender : UIButton) {
print("Click")
}
}
Run Code Online (Sandbox Code Playgroud)
ViewController.swift
class GameViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let boxRow = SquareBox()
boxRow.createBoxes()
}
}
Run Code Online (Sandbox Code Playgroud)
另外我尝试了@IBAction而不是@objc,它不起作用,但是如果我在创建该对象的ViewController.swift中使用“ click”函数,则该函数可以工作,但是我需要在此类中使用此函数。