[英]how to override/swizzle a method of a private class in runtime objective-c?
[英]Objective-C call a class method in runtime which the class is private
我有一个.framework文件,我使用class-dump知道里面有一个名为ABC
的类,并且不暴露任何东西,而ABC
对我来说是个有用的方法,所以我想知道是否可以通过Objective将ABC's
方法称为动态的-C运行时。
等待您的帮助!
要创建类的实例,请使用NSClassFromString
:
Class myPrivateClass = NSClassFromString(@"MyPrivateClass");
myPrivateClass *myPrivateObj = [myPrivateClass new];
现在您已经拥有了调用select的类的实例,为了使其更容易,您可以将该实例转换为NSObject
[(NSObject *)myPrivateClass performSelector:@selector(description) withObject:nil];
或类方法:
[myPrivateClass performSelector:@selector(description)];
在这里,我在实例和类上调用description
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.