版权声明:本文为博主原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1337962
新浪微博:
1.字典转模型、模型转字典、badgeValue
首先利用AF获取数据,然后将数据传递给网络封装层,网络封装层将数据(字典数组)转成模型数组传递给数据层。控制器最终需要的只是数据。
方法:
// 将字典转为Status模型
Status *status = Status objectWithKeyValues:dict;
// 将字典数组转为User模型数组
NSArray *userArray = User objectArrayWithKeyValuesArray:dictArray;
// 将模型数组转为字典数组
NSArray dictArray = User keyValuesArrayWithObjectArray:userArray;
// 模型转字典
param.keyValues
2.后台运行
问题:真机上运行和模拟器上的效果不一样,播放音乐的效果恰恰相反,一个是进入后台才播放,一个是进入前台才播放
解决:需要设置音频
单元格中先调用单元格的高度这个方法
3.MVVM
VM:视图模型
将下载后的数据转成模型,将模型赋值给视图模型的模型属性。视图模型中有各个视图属性(总共属性:视图属性、模型属性、单元格高度属性)。在重写set模型的方法中设置各个视图属性的大小、位置。在子单元格中利用传递过来的视图模型设置数据和各个子控件的大小
用来解决比较复杂的界面,而且界面中的控件尺寸是由模型数据确定的。
视图模型:模型+所有控件的frame
好处:如果一个控件循环利用(如:cell)就可以避免重复计算控件的尺寸
4.时间label宽度、来源
set方法、get方法
5.配图
UIImageView的内容模式:
1.填充整个控件
2.按比例缩放,并且不会超出控件
3.按比例缩放,直到有宽和高有一个不超出边界,然后显示中心点,并且要多图片进行裁剪
4.不会缩放图片,只会把图片的中心点对齐图片
6.发送图片
上传多张图片?
1. 如果传递的参数很多需要封装成一个模型