Antworten:
Ja das ist möglich Die Syntax lautet:
@interface NSDate (CategoryName) <ProtocolName>
@end
@implementation NSDate (CategoryName)
@end
Hier ist Apples Dokumentation zu diesem Thema.
Dies ist auch mit einer Klassenerweiterung möglich. Ich mag es sehr, wenn ich mich privat an delegierte Protokolle anpasse. Dadurch wird das Implementierungsdetail eines Delegaten einer Klasse vor der öffentlichen Schnittstelle ausgeblendet und die Abhängigkeit aus dem Header entfernt.