Red de conocimiento informático - Problemas con los teléfonos móviles - Usando @objc en Swift

Usando @objc en Swift

1. El propósito de usar @objc delante del método llamado por el selector es permitir que la función se llame a través de mensajes oc en "tiempo de ejecución"

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.