美文网首页
Runtime 实现hook方法

Runtime 实现hook方法

作者: 指尖的跳动 | 来源:发表于2020-09-07 09:53 被阅读0次

    @interface TestObject : NSObject

    - (void)testMethod:(NSString *)text;

    @end

    @implementation TestObject

    - (void)testMethod:(NSString *)text {

    NSLog(@"testMethod : %@", text);

    }

    @end

    // runtime

    IMP function = imp_implementationWithBlock(^(id self, NSString *text) {

    NSLog(@"callback block : %@", text);

    });

    const char *types = sel_getName(@selector(testMethod:));

    class_replaceMethod([TestObject class], @selector(testMethod:), function, types);

    TestObject *object = [[TestObject alloc] init];

    [object testMethod:@"lxz"];

    callback block : lxz

    相关文章

      网友评论

          本文标题:Runtime 实现hook方法

          本文链接:https://www.haomeiwen.com/subject/lljkektx.html