- 欢迎界面
在新特性模块下创建welcomeViewController
加载背景 头像 - 切头像
cornerradius
maskbound - 在viewDidAppear中做动画
记得先super
动画 uiview usingspringwitgdamping
self.view.layoutifneeded
技巧:self.iconcaonstait = view.constraits.last //(记录最后一个添加进约束数组的属性) - 显示网络头像
加载网络头像 用SDweb
方法需要传入url 在viewmodel(逻辑处理)中添加返回方法
加载出来的头像太大了 (设置头像宽高约束) - 界面切换
- 获取版本号
在appdegate添加判断是否是新版本方法
如果是新版本 显示新特性 - 设置启动控制器
- 欢迎界面显示完成后 进入主界面
share.keywindow(但是不好 越权)
可以用通知切换控制器
通知中 object 属性: 监听哪个对象发出的通知
通知是同步的
动画完成之后,再切换控制器能保证控制器完全销毁 - 先查看服务器返回数据:是有status ad ....
创建statueslistViewModel处理数据(组视图模型:返回用户模型数组)
创建status对象模型 (单条微博视图模型:处理单条微博头像,会员,图片) - 在视图模型中加载statues数据()
mvvm中视图控制器不能直接引用模型 所以需要视图模型 - 微博数据字典转模型
- 传递模型视图
修改默认cell 为自定义cell
创建微博cell视图模型(statusViewModel)
视图模型 引用模型
var status:Status //微博对象
init(status:Status){
self.status = Status
super.init() //先本类初始化后 调用父类初始化方法
}
然后再statusListViewModel中
替换成 statusViewModel
屏幕快照 2015-11-16 下午8.32.24.png在cell模型中定义statusViewModel属性(用于接收控制器传来的数据)
屏幕快照 2015-11-16 下午8.37.59.png存储性属性 计算型属性
var xxx:xx = {}() //存储性属性
var xxx:xx{
return xxx
} // 计算型属性(需要考虑性能)(就是实现了get方法)
var title: String {
return "Mr " + (name ?? "")
}
- 文本自动换行
网友评论