我有一个类,我们称它为 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)
想了解这是为什么,或者我是否做错了什么,谢谢。