objective-c - Objective-C 对象的列表选择器

标签 objective-c selector

我有一个对象,我想列​​出它响应的所有选择器。感觉这应该是完全可能的,但我找不到 API。

最佳答案

这是一个基于运行时 C 函数的解决方案:

class_copyMethodList 返回一个类方法列表,给定一个可从对象获得的 Class 对象。

#import <objc/runtime.h>

[..]

SomeClass * t = [[SomeClass alloc] init];

int i=0;
unsigned int mc = 0;
Method * mlist = class_copyMethodList(object_getClass(t), &mc);
NSLog(@"%d methods", mc);
for(i=0;i<mc;i++)
    NSLog(@"Method no #%d: %s", i, sel_getName(method_getName(mlist[i])));

/* note mlist needs to be freed */

关于objective-c - Objective-C 对象的列表选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/330030/

相关文章:

jquery - 如何使用 jQuery 在表格单元格中选择 div

jquery - 为 IE6 实现 + 选择器

ios - iOS 中进程使用的虚拟内存?

ios - 如何使用 SwiftyJSON 在 Swift 中将字符串转换为 JSON 数组?

jquery - 表格 CSS : Styling a radio box's parent (label) based on checked/unchecked status

Java NIO 数据包粘连

ios - 什么时候是在 UIView 子类中设置动画和添加子层的合适时间

ios - 为什么使用 [UIColor colorWithRed :gred:blue:alpha] lead to EXC_BAD_ACCESS?

ios - 延迟将 HTML 字符串加载到 UIWebView

JQuery表单回调函数