У меня есть класс, где большая часть логики обрабатывается для кликов и тому подобное. Там я сделал функцию, которая вызывает другую функцию в другом классе. Я хочу связать эту функцию нажатием кнопки NSAlert. Однако, когда я нажимаю, я получаю сообщение об ошибке: нераспознанный селектор отправляется на экземпляр 0x6000001c50a0. У меня также есть проверка, открыто ли оповещение, и проходят ли все оповещения аналогичным образом.
Вот мой код:
func goBack()
{
//goback code
}
func showAlert(){
if (!OtherClass.alertCheck)
{
OtherClass.alertCheck = true;
DispatchQueue.main.async(){
var alert = NSAlert()
alert.messageText = "If you want to go back, click back."
var btn = alert.addButton("back")
btn.action = #selector(OtherClass.goBack)
alert.runModal()
OtherClass.alertCheck = false
}
}
}
Даже если я не пройду через диспетчерскую очередь, действие не будет запущено. Я хотел бы знать, почему в обоих случаях это не работает.