swift addtarget как выполнить функцию при нажатии на переключатель

Друзья, есть таблица в контроллере, со списком имен... В нее я добавил в каждую строку переключатель UISwitch()...

как при нажатии на него запустить какой либо код, например функцию fireworks()?

Код моего маленького контроллера:

    import UIKit

class ViewController: UIViewController {
    
    @IBOutlet weak var tableView: UITableView!
    
    var names = ["Vasya", "Petya", "Nura", "Dunya", "Pavlel"]
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        
        tableView.delegate = self
        tableView.dataSource = self
        
    }


}

extension ViewController: UITableViewDelegate {
    
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        print("You tapped")
    }
    
}


extension ViewController: UITableViewDataSource {
    
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return names.count
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
        cell.textLabel?.text = names[indexPath.row]
        cell.accessoryView = UISwitch()
        return cell
    }
    
    func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {
        let deleteAction = UITableViewRowAction(style: .destructive, title: "Удалить", handler: {
            _,_ in print("delete \(indexPath.row)")
            self.names.remove(at: indexPath.row)
            print(self.names)
            tableView.reloadData()
        })
    
    return [deleteAction]
    }
    
    @objc func fireworks() {
        print("Бум!")
    }
}

Вроде понимаю что через addTarget, но разобраться с ним не могу... Всем спасибо


Ответы (1 шт):

Автор решения: Klim Postironin

Создайте константу вашего UISwitch: let switch = UISwitch(), и уже к ней добавьте addTarget и передайте туда через #selector(fireworks)

switch.addTarget(self, #selector(fireworks))

(Код выше нужен для понимания, он не скомпилируется)

→ Ссылка