Mam kategorię na NSDate i byłoby wygodnie, gdyby mogła zaimplementować protokół, który wcześniej utworzyłem. czy to możliwe? jaka jest poprawna składnia tego?
Odpowiedzi:
Tak, to możliwe. Składnia jest następująca:
@interface NSDate (CategoryName) <ProtocolName>
@end
@implementation NSDate (CategoryName)
@end
Oto dokumentacja firmy Apple na ten temat.
Można to również zrobić za pomocą rozszerzenia klasy. Bardzo podoba mi się prywatna zgodność z protokołami delegatów. Spowoduje to ukrycie szczegółów implementacji bycia delegatem jakiejś klasy z interfejsu publicznego i usunięcie zależności z nagłówka.