码迷,mamicode.com
首页 > 移动开发 > 详细

IOS Swizzle(hook)

时间:2014-06-08 22:41:02      阅读:372      评论:0      收藏:0      [点我收藏+]

标签:c   class   a   get   strong   string   

 

 

 

///////////////////////////////////////////////////////////////////////////////////////////////////

#import "NSArray+swizzle.h"

@implementation NSArray (swizzle)

-(id) myLastObject

{

    id ret = [self myLastObject];

    NSLog(@"-----myLastObject-------");

    return ret;

}

@end

////////////////////////////////////////////////////////////

#import "NSArray+swizzle.h"

#import <objc/runtime.h>

 

    Method ori = class_getInstanceMethod([NSArray class], @selector(lastObject));

    Method new = class_getInstanceMethod([NSArray class], @selector(myLastObject));

    method_exchangeImplementations(ori, new);

    

    NSArray * array = @[@"0",@"1",@"2",@"3"];

    NSString * str = [array lastObject];

    

    NSLog(@"str:%@",str);

 

输出 

-----myLastObject-------

str:3

解释:以上代码将lastObject与myLastObject。

所以  [array lastObject]这句话调用的应该是  myLastObject,而在myLastObject里面调用myLastObject其实就是调用lastObject。

 

 

IOS Swizzle(hook),布布扣,bubuko.com

IOS Swizzle(hook)

标签:c   class   a   get   strong   string   

原文地址:http://www.cnblogs.com/rollrock/p/3775422.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!