Mam dwa protokoły komunikujące się ze sobą. Są one zdefiniowane w tym samym pliku.Zgłaszanie protokołu takiego jak @klasa
@protocol Protocol1 <NSObject>
-(void)setProtocolDelegate:(id<Protocol2>)delegate;
@end
@protocol Protocol2 <NSObject>
-(void)protocol:(UIViewController<Protocol1>*)anObject chosenElementAtIndex:(NSInteger)aIndex;
@end
Jak deklarują pusty protokół Protocol2
tylko niech wiedzą, kompilator, że jest zadeklarowana później?
Jeśli Protocol2
był klasy, to powinienem napisać wcześniej @class Protocol2;
.
@class Protocol2;
@protocol Protocol1 <NSObject>
-(void)setProtocolDelegate:(Protocol2*)delegate;
@end
@interface Protocol2 <NSObject>
-(void)protocol:(UIViewController<Protocol1>*)anObject chosenElementAtIndex:(NSInteger)aIndex;
@end
Jaka jest podobna konstrukcja dla protokołów?
Wiem, że nie powinno to być "@ klasa". Użyłem drugiego fragmentu, aby pokazać analogię z klasami, aby pytanie było bardziej przejrzyste. W każdym razie, dzięki za pomoc –