ISInvocationHookProxy 0.0.2

ISInvocationHookProxy 0.0.2

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2014 年 12 月

Yosuke Ishikawa 维护。



  • By
  • Yosuke Ishikawa

一个代理对象,它会钩住目标的每个 NSInvocation。

使用说明

NSString *object = [[NSString alloc] init];
ISInvocationHookProxy *proxy = [[ISInvocationHookProxy alloc] initWithTarget:object];
proxy.hookBlock = ^(NSInvocation *invocation) {
    // will be called when [(NSString *)proxy length]; is executed
};

[(NSString *)proxy length];

覆盖调用的返回值

NSString *object = @"foo";
ISInvocationHookProxy *proxy = [[ISInvocationHookProxy alloc] initWithTarget:object];
[(NSString *)proxy length]; // 3

proxy.hookBlock = ^(NSInvocation *invocation) {
    if (invocation.selector == @selector(length)) {
        NSInteger length = 10;
        [invocation setReturnValue:&length];
    }
};

[(NSString *)proxy length]; // 10

许可证

版权所有 (c) 2013-2014 Yosuke Ishikawa

特此授予任何获得此软件及其相关文档文件(“软件”)副本的任何人免费处理该软件的权利,包括但没有限制使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许向获得该软件的人提供这些权利,但以下条件适用

以上版权声明和本许可声明应包括在软件的任何副本或实质部分中。

软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适用性保证、针对特定目的的适应性和非侵权性保证。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任负责,无论是合同责任、侵权责任还是其他责任,无论是在软件或其使用或任何与之关联的情况下。