iOS依赖注入

依赖注入(dependency injection)参考资料,objc.io上一个关于DI的详细介绍依赖注入
关于iOS runtime swizzle的介绍,传说中的移形换位大法swizzle
GitHub上一个开源的iOS DI实现:objection
GitHub上一个开源的swizzle封装:jrswizzle

依赖注入的几种形式:

  1. 构造器注入
  2. 属性注入
  3. 方法注入
  4. 环境上下文
  5. 抽取和重写调用

一句话介绍:给对象传入实例变量,用实例变量储存依赖对象,并用这个变量来进行各种操作。

swizzle简介

Method swizzling指的是改变一个已存在的选择器对应的实现的过程,它依赖于Objectvie-C中方法的调用能够在运行时进改变——通过改变类的调度表(dispatch table)中选择器到最终函数间的映射关系。	    

一句话介绍:selector和imp是一一对应,但是使用这技术可以在运行时修改selector对应的imp,imp类似指针,指向方法具体实现,swizle的作用就是修改指针具体指向。

发表评论

电子邮件地址不会被公开。 必填项已用*标注