- 歡迎界面
在新特性模塊下創(chuàng)建welcomeViewController
加載背景 頭像 - 切頭像
cornerradius
maskbound - 在viewDidAppear中做動(dòng)畫
記得先super
動(dòng)畫 uiview usingspringwitgdamping
self.view.layoutifneeded
技巧:self.iconcaonstait = view.constraits.last //(記錄最后一個(gè)添加進(jìn)約束數(shù)組的屬性) - 顯示網(wǎng)絡(luò)頭像
加載網(wǎng)絡(luò)頭像 用SDweb
方法需要傳入url 在viewmodel(邏輯處理)中添加返回方法
加載出來的頭像太大了 (設(shè)置頭像寬高約束) - 界面切換
- 獲取版本號(hào)
在appdegate添加判斷是否是新版本方法
如果是新版本 顯示新特性 - 設(shè)置啟動(dòng)控制器
- 歡迎界面顯示完成后 進(jìn)入主界面
share.keywindow(但是不好 越權(quán))
可以用通知切換控制器
通知中 object 屬性: 監(jiān)聽哪個(gè)對(duì)象發(fā)出的通知
通知是同步的
動(dòng)畫完成之后,再切換控制器能保證控制器完全銷毀 - 先查看服務(wù)器返回?cái)?shù)據(jù):是有status ad ....
創(chuàng)建statueslistViewModel處理數(shù)據(jù)(組視圖模型:返回用戶模型數(shù)組)
創(chuàng)建status對(duì)象模型 (單條微博視圖模型:處理單條微博頭像,會(huì)員,圖片) - 在視圖模型中加載statues數(shù)據(jù)()
mvvm中視圖控制器不能直接引用模型 所以需要視圖模型 - 微博數(shù)據(jù)字典轉(zhuǎn)模型
- 傳遞模型視圖
修改默認(rèn)cell 為自定義cell
創(chuàng)建微博cell視圖模型(statusViewModel)
視圖模型 引用模型
var status:Status //微博對(duì)象
init(status:Status){
self.status = Status
super.init() //先本類初始化后 調(diào)用父類初始化方法
}
然后再statusListViewModel中
屏幕快照 2015-11-16 下午8.30.21.png
替換成 statusViewModel
屏幕快照 2015-11-16 下午8.32.24.png
在cell模型中定義statusViewModel屬性(用于接收控制器傳來的數(shù)據(jù))
屏幕快照 2015-11-16 下午8.37.59.png
存儲(chǔ)性屬性 計(jì)算型屬性
var xxx:xx = {}() //存儲(chǔ)性屬性
var xxx:xx{
return xxx
} // 計(jì)算型屬性(需要考慮性能)(就是實(shí)現(xiàn)了get方法)
var title: String {
return "Mr " + (name ?? "")
}
- 文本自動(dòng)換行