在Mac OS X 10.5及更高版本中替代poseAsClass?

e.J*_*mes 6 cocoa deprecated

Apple已弃用OS X v10.5及更高版本NSObjectposeAsClass:方法.有没有其他方法让班级合法?

Bar*_*ark 8

我认为没有类级别的等价物,但你可以交换两种方法的实现,这通常是使用的目的poseAsClass:(当然,如果你需要覆盖多个方法,你可以交换多个方法)类).您需要Objective-C 2.0运行时()中的method_exchangeImplementations#import objc/runtime.h.警告:在调用method_exchangeImplementations之后,调用'new'方法实际上调用了原始方法定义.


mca*_*dre 7

Lap Cat提供了另一种选择.