У меня есть класс, назовем его ClassA со следующим вызовом addTarget.
awesomeBtn.addTarget(nil, action: #selector(awesomeMethod), for: .touchUpInside)
Компилятор принимает приведенную выше строку, когда метод awesomeMethod находится в ClassA (то есть тот же класс, что и вызов addTarget),
Однако, если awesomeMethod НЕ в ClassA, скажем, в ClassB, то компилятор жалуется, и я вынужден указать имя класса в действии.
awesomeBtn.addTarget(nil, action: #selector(ClassB.awesomeMethod), for: .touchUpInside)
В предыдущих версияхиз Swift (точно не знаю, какие версии), я мог бы просто написать следующее, независимо от того, какой класс содержал метод.
awesomeBtn.addTarget(nil, action:("awesomeMethod"), forControlEvents:.touchUpInside)
Хотелось бы понять, почему это так или я что-то не так делаю, спасибо.