Traits
Traits
是一个可以实现实时更新代码,而不需要重新运行程序就可以看到效果的库,效果如下图所示,源码地址在这里。
Traits
主要是依赖于Injection
的代码注入功能来实现实时更新。它可以是在代码中更新视图对象的属性,也可以在一个json
配置文件甚至是远程的配置文件中处理,且做到实时更新。对配置文件的处理,主要依赖于ObjectMapper
来实现json
数据与属性的映射,同时借助KZFileWatchers
库来监听配置文件的更新。
不过个人感觉有两点稍显麻烦:
- 需要为每个属性定义一个类并继承
Trait
类(不同类的相同属性可以定义一个类,如UILabel
和UITextFiled
的font
属性),如图2代码所示。
- 同时需要为每个元素的每个属性都定义一个标识,如图3代码所示。不过作者提供了一个shell脚本(generateTraitsIdentifiers.sh)来处理。