Ho una categoria su NSDate e sarebbe conveniente se potesse implementare un protocollo che ho creato in precedenza. È possibile? qual è la sintassi corretta per questo?
Risposte:
Sì, è possibile. La sintassi è:
@interface NSDate (CategoryName) <ProtocolName>
@end
@implementation NSDate (CategoryName)
@end
Ecco la documentazione di Apple sull'argomento.
È anche possibile farlo utilizzando un'estensione di classe. Mi piace molto questo per conformarmi privatamente ai protocolli dei delegati. In questo modo si nascondono i dettagli di implementazione di essere un delegato di una classe dall'interfaccia pubblica e si rimuove la dipendenza dall'intestazione.