目标c - 获取协议的父母列表

Wil*_*sch 1 protocols objective-c objective-c-runtime ios

所述目标C的运行时参考具有用于得到一个类的超类的功能class_getSuperclass.是否列出了协议的直接祖先?

Eim*_*tas 5

没有祖先这样的东西,因为协议扩展而不是继承,因此你应该寻找兄弟姐妹.我能给你的最接近的是:

  1. 获取协议列表 objc_protocol_list
  2. 检查协议是否符合协议 protocol_conformsToProtocol

更新它似乎我没有足够rtfm.这是正确的方法:

protocol_copyProtocolList,被描述为

返回协议采用的协议数组.