2009-02-04 15 views

Odpowiedz

98

respondsToSelector: jest częścią protokołu NSObject. W tym NSObject w MyProtocol powinno rozwiązać problem:

@protocol MyProtocol <NSObject> 

@optional 
-(void)optionalProtocolMethod:(id)anObject; 

@end 
+3

Z wyjątkiem tego, że nie powinieneś zatrzymywać swoich delegatów, dlaczego więc dzwonisz do [delegowanego wydania]? – SilverSideDown

+1

Aby być sprawiedliwym wobec Grilix, istnieją sytuacje, w których należy zachować delegata. –

+0

@MikeWeller Ciekawi przypadkami użycia dla zatrzymania delegata. Jakieś przykłady, dlaczego to zrobiłeś? – memmons

2

Co mogę zrobić, to stosując następujący przepis:

if(self.delegate && [self.delegate respondsToSelector:@selector(closed)]){ 
    [self.delegate closed]; 
} 

Gdzie „zamknięty” jest metodą, która chciałem zadzwonić.