在运行时判断一个类是否符合特定的协议方法?

Hen*_*ale 0 iphone protocols objective-c ios

我试图告诉你是否有办法确定一个类是否符合运行时的特定(可选)协议方法.有没有办法检查这个?不希望在委托类中发送对不存在的委托方法实现的调用.

Ano*_*dya 5

 BOOL isProtocolConformed=[YourClass conformsToProtocol:@protocol(YourProtocol)];
 BOOL isSelectorResponse=[yourObject respondsToSelector:@selector(yourMethod)];
 if(isProtocolConformed && isSelectorResponse){
    //do your stuff
 }
Run Code Online (Sandbox Code Playgroud)