如何在 Xcode 4 中获取符合特定协议的所有类的列表?

如何在 Xcode 4 中获取符合特定协议的所有类的列表?

问题描述:

我是 Xcode 的新手.我想知道如何知道所有类都符合 Xcode 4.3.1 中的特定协议?我怎么知道一个类的所有子类?

I am new to Xcode. I want to know how can I know all classes conform to certain protocol in Xcode 4.3.1? And how can I know all subclasses of one class?

使用 Objective-C 运行时函数.

  • objc_getClassList 获取Classes
  • 的列表
  • class_getSuperclass-superclass 方法来遍历超类链
  • class_conformsToProtocol-conformsToProtocol: 方法来检查类是否符合协议
  • objc_getClassList to get the list of Classes
  • class_getSuperclass or the -superclass method to walk the superclass chain
  • class_conformsToProtocol or the -conformsToProtocol: method to check if a class conforms to a protocol