【发布时间】:2014-04-19 09:09:44
【问题描述】:
我创建了一个运行时类,然后将一个实例调配为该新类的实例。
MyClass *object = [MyClass new];
Class subclass = objc_allocateClassPair([MyClass class], "MyClass_RuntimeClass", 0);
objc_registerClassPair(subclass);
object_setClass(object, subclass);
这很好用。 swizzling 后我可以调用 MyClass 上定义的方法和设置属性。
唯一的问题是调试器不再显示对象的属性。
Apple 似乎已经通过他们的 KVO 运行时类克服了这个问题。
我尝试使用 class_addProperty 在新类上添加属性,但由于它们已经定义,所以失败了。
我有什么遗漏吗?
【问题讨论】:
标签: objective-c objective-c-runtime isa-swizzling