问题
标题有点绕,其实就是把:
- 通过
runtime
根据字符串获得某个 Class,用这个 Class 创建且初始化一个实例。
- 某个类实现了一个 protocol,这个 protocol 定义了某个自定义的 init 方法,创建出来的实例需要通过这个 init 方法来初始化。
这两种需求结合在一起。准确来说就是通过 runtime
获得了一个实现了某个 protocol 的 Class,现在创建这个 Class 的一个实例并且调用 protocol 的 init 方法来初始化。上面两个需求,单独一个都能很简单地完成,然而结合在一起之后就不是那么简单了。