测试已测试 | ✗ |
语言语言 | Obj-CObjective C |
许可证 | MIT |
发布最后发布 | 2014 年 12 月 |
由 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
特此授予任何获得此软件及其相关文档文件(“软件”)副本的任何人免费处理该软件的权利,包括但没有限制使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许向获得该软件的人提供这些权利,但以下条件适用
以上版权声明和本许可声明应包括在软件的任何副本或实质部分中。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适用性保证、针对特定目的的适应性和非侵权性保证。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任负责,无论是合同责任、侵权责任还是其他责任,无论是在软件或其使用或任何与之关联的情况下。