Селектор iOS не вызывается для UIBarButtonItem - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть довольно простой код, и я пытаюсь выяснить, почему uibarbuttonitem не вызывает селектор:

Метод TableView viewDidLoad:

override func viewDidLoad() {
    super.viewDidLoad()

    // Uncomment the following line to preserve selection between presentations
    self.clearsSelectionOnViewWillAppear = false

    // this line adds a button to top right
    let addNewChecklistItemButton = UIBarButtonItem(barButtonSystemItem: .add,
                                                    target: nil,
                                                    action: #selector(self.addNewChecklistItemToDataModel))

    self.navigationItem.rightBarButtonItem = addNewChecklistItemButton
}

Методsaid:

@objc func addNewChecklistItemToDataModel() {
    print("adding new item...")

    <...>
}

Кнопка добавляется (не была видна до того, как я ввел этот код), и когда я нажимаю ее, нажатие кнопки вызывает анимацию, но моя консоль не показывает напечатанный текст.

После прочтения Селектор UIBarButtonItem не работает , Мне интересно, влияет ли тот факт, что мой UITableViewController встроен в UITabViewController и UINavigationViewController, влияет на область действия кнопки?Если нет, то кто-нибудь видит что-то, чего мне не хватает?

1 Ответ

0 голосов
/ 12 декабря 2018

Цель не должна быть равна нулю

 let addNewChecklistItemButton = UIBarButtonItem(barButtonSystemItem: .add,
                                                target: self,
                                                action: #selector(self.addNewChecklistItemToDataModel))
...