原文地址:runtime 方法替换 和 动态添加类方法 结合使用
前言:方法替换,可以替换任意外部类的方法,而动态添加方法只能实现在被添加类创建的对象里,但是将方法替换和动态添加方法结合使用,可以实现,对任意外部类动态添加需要的方法。
缺陷:1、含参数的方法难以处理,参数值需要根据实际业务逻辑而定。2、无法实现动态添加实例方法。
Create Person.h and Person.m
Person.h:
1
|
#import <Foundation/Foundation.h>
|
Person.m:
1
|
#import "Person.h"
|
Create OtherPerson.h and OtherPerson.m
OtherPerson.h:
1
|
#import <Foundation/Foundation.h>
|
OtherPerson.m:
1
|
#import "OtherPerson.h"
|
last In file ‘main.m’:
1
|
#import <Foundation/Foundation.h>
|
download
Note
Before use import <objc/message.h>
,need following: