gpt4 book ai didi

Objective-C 运行时 : best way to check if class conforms to protocol?

转载 作者:IT老高 更新时间:2023-10-28 12:16:35 26 4
gpt4 key购买 nike

我有一个类(但没有实例),需要知道它是否符合某个协议(protocol)。但是,Class 可以被子类化多次,并且 class_conformsToProtocol() 会忽略在父类(super class)上声明的协议(protocol)。

我可以只使用 class_getSuperclass() 并向上递归检查层次结构中的所有类,直到父类(super class)为零。但是我想知道这对于深度嵌套的类层次结构是否效率低下,也许有更好的方法来做到这一点?

换句话说,NSObject 方法conformsToProtocol 如何最好地使用Objective-C 运行时方法实现,以便在父类(super class)上找到协议(protocol)?

 [myObject conformsToProtocol:@protocol(MyProtocol)];

如果我在递归向上类层次结构的正确轨道上,请告诉我。

最佳答案

According to the docs ,

[MyClass conformsToProtocol:@protocol(MyProtocol)];

应该可以。

关于Objective-C 运行时 : best way to check if class conforms to protocol?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3436257/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com