Usando @objc en Swift
overridefuncviewDidLoad(){super.viewDidLoad() letbtn= UIButton(tipo:. contactAdd)btn.addTarget(self,action:#selector(click),for:.touchUpInside)}@objcfuncclick(){print("Botón hecho clic")}
2. Cuándo un método en el protocolo Cuando es opcional, habrá una declaración @objc delante del protocolo y el método opcional
@objcprotocolOptionalProtocol{@objcoptionalfuncoptionalMethold1()@objcoptionalfuncoptionalMethold2()}
3. Cuando se utiliza débil para modificar el protocolo, el prefijo del protocolo es @objc declaración
@objcprotocolMyDelegate{funcmethhold1()}classMyClass{ débilvardelegate:MyDelegate?}
4. Si hay una clase con ?@objcMembers delante de la clase, luego los métodos en ella y sus subclases y clases extendidas se nombran implícitamente con ?@objc
@objcMembersclassPerson{}
5 Si se extiende con ?@objc, entonces todos los métodos internos se agregarán implícitamente?@objc
classPerson{funcwork(){}@objcextensionPerson{funcat(){}// Contiene implícito @objcfuncsleep(){. }// Contiene @objc} implícito
6.