如何在Objective-C中动态地向类添加方法?

我理解Objective-C over C的一个主要优点是它能够向对象发送消息而不是调用它的方法.其次,您可以动态地向对象添加方法.

假设这是我的对象:

@interface MyClass : NSObject
{}

- sayHello;

@end

我知道下面的代码即使 – sayGoodbye没有定义,但有人可以完成此代码并演示Objective-C如何在运行时向对象添加方法吗?

MyClass* o = [[MyClass alloc] init];

[o sayHello  ];
[o sayGoodbye];
[o release   ];

最佳答案 目标c运行时引用是您需要的:

Objective-C Runtime Reference

特别要看下面的方法:class_addMethod

点赞