class_conformsToProtocol 与 conformsToProtocol 的区别

class_conformsToProtocol 和 [NSObject conformsToProtocol:]
是有区别的,实际实现是完全不同,只是一般情况下表现相同而已.

最直接表现
1.父类的分类中实现了某个Protocol 两个方法的结果完全不一样
2.[NSObject conformsToProtocol:] 仅限于NSObject(满足绝大部分需求) ,而class_conformsToProtocol 适用于所有Class

苹果建议用 [NSObject conformsToProtocol:]

原因: class_conformsToProtocol 不检测父类中实现的Protocol,而 [NSObject conformsToProtocol:] 检测所有继承类中实现的Protocol

你可能感兴趣的:(class_conformsToProtocol 与 conformsToProtocol 的区别)