in Objective C, i metodi di protocollo possono essere obbligatorie o facoltative:protocolli C Obiettivo che richiedono l'attuazione di almeno uno di un insieme di metodi
@protocol AProtocol
@required
-(void) aRequiredMethod;
@optional
-(void) anOptionalMethod;
@end
C'è un modo elegante per dire che l'oggetto conforme al protocollo deve rispondere ad almeno uno di un insieme di metodi, il mio sogno sarebbe qualcosa di simile
@protocol AProtocol
@anyof
-(void) onePossibleMethod;
-(void) anotherPossibleMethod;
@optional
-(void) anOptionalMethod;
@end
EDIT:
Questo essere (per quanto ne so), impossibile, wou ld ci sia un modo per raccogliere un tempo di compilazione di avvertimento se una classe dichiarata conforme a un determinato protocollo fatto interamente di metodi opzionali
@protocol AProtocol
@optional
-(void) onePossibleMethod;
-(void) anotherPossibleMethod;
@end
omesso di attuare almeno uno di loro.
re: 'EDIT' non che ho visto. Se si vuole veramente automatizzare questo, è possibile utilizzare il runtime objc. – justin