美文网首页
(十三) [OC高效系列]用方法调配技术调试黑盒方法

(十三) [OC高效系列]用方法调配技术调试黑盒方法

作者: 修行猿 | 来源:发表于2016-08-14 10:04 被阅读14次

不多说直接上代码

@interface NSString (YXMethodExchange)

- (NSString *)yx_uppercaseString;
@end


@implementation NSString (YXMethodExchange)

- (NSString *)yx_uppercaseString{
    NSLog(@"执行uppercaseString之前");
    //这里看似会递归,但实际并不会,因为实际调用的是uppercaseString方法
    NSString *uppercaseString = [self yx_uppercaseString];
     NSLog(@"执行uppercaseString之后 获取到大写:%@",uppercaseString);
    return uppercaseString;
}
@end

调用场景代码

 Method up = class_getInstanceMethod([NSString class], @selector(uppercaseString));
 Method myUp = class_getInstanceMethod([NSString class], @selector(yx_uppercaseString));
 method_exchangeImplementations(up, myUp);
 [@"hellow" uppercaseString];

这样就能在指定的方法调用前后加上输出日志。可以很方便的对IOS中没有暴露的方法进行日志打印,方便调试。这就是黑盒调试。

相关文章

网友评论

      本文标题:(十三) [OC高效系列]用方法调配技术调试黑盒方法

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