一:封装的意义
封装就是对类中的一些字段,方法进行保护,不被外界所访问到。同时可以减少主要视图控制器中的代码量,方便复用,维护起来也更加方便。下面是封装一个view的指导方法
不难看出,所需要做的其实并不复杂
首先,构建一个模型类,继承于nsobject,用于传递数据。
其次,根据需要创建类用于封装,通常多用于UI部件的封装。建议自己写扩充方法传递数据,将-(instancetype)initWithFrame:(CGRect)frame 扩充为-(instancetype)initWithFrame:(CGRect)frame withModel:(model *)model ,这样既可以区分于系统方法,防止再次调用的人调错方法,又可以同时传递出模型数据和控件尺寸。如果不扩充系统方法,建议使用-(instancetype)initWithFrame:(CGRect)frame方法,因为此方法默认会调用-(instancetype)init,但是一定要在layoutSubView方法里重写Frame,以防止调用的视图控制器传递空的Frame,无法创建成功。
最后,在使用的控制器内创建控件,并且将模型数据传递过去。