如果要定制已存在的类的属性和行为,可以用运行时实的方法调换method swizzling来实现!不过,我在研究运行时之前,就已经想出了一种不用运行时就能实现方法调换的方案,这种方法不但可以实现替换方法的效果,还可以实现替换属性、在分类中添加成员变量等效果,总之,但凡子类能实现的重写效果,这个方案也都能实现!
备注:
由于这个方案是很久以前设计出来的,并汇制了流程图,具体细节可能有些遗忘,所以暂先把方案贴出来,待以后有空时,再详细讲解方案思的原理;
具体方案如下图:
如果要定制已存在的类的属性和行为,可以用运行时实的方法调换method swizzling来实现!不过,我在研究运行时之前,就已经想出了一种不用运行时就能实现方法调换的方案,这种方法不但可以实现替换方法的效果,还可以实现替换属性、在分类中添加成员变量等效果,总之,但凡子类能实现的重写效果,这个方案也都能实现!
备注:
由于这个方案是很久以前设计出来的,并汇制了流程图,具体细节可能有些遗忘,所以暂先把方案贴出来,待以后有空时,再详细讲解方案思的原理;
具体方案如下图: