Objective-C Language Méthodes optionnelles et obligatoires


Exemple

Par défaut, toutes les méthodes déclarées dans un protocole sont obligatoires. Cela signifie que toute classe conforme à ce protocole doit implémenter ces méthodes.

Il est également possible de déclarer des méthodes optionnelles . Ces méthodes ne peuvent être implémentées que si nécessaire.

Vous marquez des méthodes facultatives avec la directive @optional .

@protocol NewProtocol
- (void)protocolMethod:(id)argument;
@optional
- (id)anotherMethod;
@end

Dans ce cas, seule une autre anotherMethod est marquée comme facultative; les méthodes sans la directive @optional sont supposées être obligatoires.

La directive @optional s'applique aux méthodes suivantes, jusqu'à la fin de la définition du protocole ou jusqu'à ce qu'une autre directive soit trouvée.

@protocol NewProtocol
- (void)protocolMethod:(id)argument;
@optional
- (id)anotherMethod;
- (void)andAnotherMethod:(id)argument;
@required
- (void)lastProtocolMethod;
@end

Ce dernier exemple définit un protocole avec deux méthodes facultatives et deux méthodes requises.