Tangram各类Factory说明

TangramDefaultDataSouceHelper串联起来了三个工厂,使得Helper可以大幅度简化代码。

实现 TangramLayoutFactoryProtocol 的工厂

实现 TangramLayoutFactoryProtocol 的工厂,提供了把NSDictionary转换成layout实例的功能

默认已经提供了TangramDefaultLayoutFactory,并实现了protocol中所有必选和可选的方法

+ (UIView<TangramLayoutProtocol> *)layoutByDict:(NSDictionary *)dict

传入一个NSDictionary,解析出来一个layout并返回。TangramDefaultLayoutFactory支持的样式可以参见Demo。

(void)registLayoutType:(NSString *)type className:(NSString *)layoutClassName;

可选方法,传入一个type和布局的classname,注册layout的type到工厂中

+ (NSString *)layoutClassNameByType:(NSString *)type;

传入type 返回layout的name

实现 TangramItemModelFactoryProtocol 的工厂

实现 TangramItemModelFactoryProtocol的工厂,提供了把NSDictionary转换成itemModel实例的功能

默认提供的是TangramDefaultItemModelFactory

+ (NSObject<TangramItemModelProtocol> *)itemModelByDict:(NSDictionary *)dict;

传入NSDictionary 生成一个itemModel

+ (void)registElementType:(NSString *)type className:(NSString *)elementClassName;

传入一个type和组件的classname,注册element的type到工厂中

实现 TangramElementFactoryProtocol 的工厂

实现 TangramElementFactoryProtocol的工厂,提供了把Model转换成组件实例的功能

默认已经提供了TangramDefaultElementFactory

+ (UIView *)elementByModel:(NSObject<TangramItemModelProtocol> *)model;

传入一个Model 生成一个element,TangramDefaultElementFactory 需要传入 TangramDefaultItemMode

+ (UIView *)refreshElement:(UIView *)element byModel:(NSObject<TangramItemModelProtocol> *)model;

根据itemModel刷新视图

最新的: