MVC模型分析:
Model 及 FrameModel
1.创建数据model: 解析plist文件数据
1).h文件中:plist 字典中所有属性,三个必备的方法:
`+(NSArray*)messages;
+(instancetype)messagesWithDic:(NSDictionary*)dic;
-(instancetype)initWithDic:(NSDictionary*)dic;`
2).m文件中 实现上面三个方法(这个必须背熟悉的,就不写了)
2.创建FrameModel
1)model 中所有属性的 Frame, cell行高 , Model数据(方便转换到frame 中):
2)返回frame数组的所有数据的方法
3.实现frameModel的方法:
1)实现返回 frame 数组的方法;
2)重写1)方法中 的 setter方法(这里大有文章,所有frame 以及行高都是从这里获得)
View 中只是创建自定义的 Cell
.h文件中;
//1.返回自定义的cell,当然是一个啦
+(instancetype)messageCell:(UITableView*)tableView;
//2.导入model 中的自定义 frame 模型
@property(nonatomic,strong)XQMessagesCellFrame*messagesFrame;
.m文件中;
//1.实现 +(instancetype) cell 方法 当然,tableView 就是用来做 cell 重用的
//2.重写 initWithStyle:style reuseIdentifier:…
加入自定义的 控件 声明强指针。
当然,自定义控件要 用内部弱指针指向(方便下一步setFrame中使用,layoutSubviews也可以)。
//3.重写 .h文件中的 frame 框架的setter方法
方法里面 有:setDatas & setFrame(layoutSubviews)
layoutSubviews 这个方法是系统自动实现的
Controller 中设置
//这个可以设置隐藏状态栏
-(BOOL)prefersStatusBarHidden
{
returnYES;
}
//设置tableViewCell的高度
-(CGFloat)tableView...
//确定 cell 的数量
-(NSInteger)tableView...
//自定义 cell
-(UITableViewCell*)tableView...{
//1.(创建cell,并)获取cell的数据
//2.为cell赋值
//3.返回创建好的cell
}