Czy istnieje sposób wskazania kompilatorowi, że obiekt klasy jest zgodny z protokołem?Czy obiekt klasy ObjC może być zgodny z protokołem?
Jak rozumieją, tworząc +(void)foo
metody klasy AN instancja tego obiektu klasy będą miały te same metody jak metodami np. Tak więc, dopóki będę tworzył metody dla wszystkich wymaganych metod protokołów, mogę sprawić, aby obiekt klasy działał jako delegat.
Mój problem polega na tym, że w pliku nagłówkowym klasy wiem tylko, jak wskazać, że instancje klasy są zgodne z protokołem (jak to zwykle bywa). Tak więc najlepsze, co sobie wymyśliłem, to rzucić obiekt klasy:
something.delegate = (id<SomethingDelegate>)[self class]
Jakieś pomysły?
pokrewne, ale różne: ObjC: is there such a thing as a "class protocol"?
Nadal potrzebna jest składnia wskaźnika. 'Klasa *'. –
Nie potrzebujesz składni wskaźnika. 'Class' jest już wskaźnikiem (jest zdefiniowany jako' typedef struct objc_class * Class') Będziesz go potrzebował tylko wtedy, gdy potrzebujesz wskaźnika do klasy (co jest prawdopodobnie dość rzadkie). – wbyoung
Nono, mam na myśli 'Class' jak w zastępczy, a nie "Klasy", jak w prawdziwym typie. Myślę, że źle odczytałem twój wpis. –