2009-02-04 6 views

Respuesta

98

respondsToSelector: es parte del protocolo NSObject. Incluyendo NSObject en MyProtocol debería resolver su problema:

@protocol MyProtocol <NSObject> 

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

@end 
+3

Excepto que se supone que no debe retener a sus delegados, entonces, ¿por qué llama [release delegado]? – SilverSideDown

+1

Para ser justos con Grilix hay situaciones en las que un delegado debe ser retenido. –

+0

@MikeWeller Curioso acerca de casos de uso para retener al delegado. ¿Algún ejemplo de por qué harías esto? – memmons

2

Lo que sí está aplicando la siguiente receta:

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

Donde 'cerrado' es el método que quería llamar.

Cuestiones relacionadas