滴滴出行首頁(yè)(快車(chē))腥放,可以上拉下拉底部菜單(tableView),但又不影響后面地圖的交互使用绿语。 找來(lái)找去網(wǎng)上沒(méi)有Demo秃症,就想著自己做。 一開(kāi)始思路錯(cuò)誤汞舱,想給tablevi...
![240](https://upload.jianshu.io/users/upload_avatars/6286877/62cda934-cece-42de-a450-8060f21941f2.png?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
滴滴出行首頁(yè)(快車(chē))腥放,可以上拉下拉底部菜單(tableView),但又不影響后面地圖的交互使用绿语。 找來(lái)找去網(wǎng)上沒(méi)有Demo秃症,就想著自己做。 一開(kāi)始思路錯(cuò)誤汞舱,想給tablevi...
上文說(shuō)的對(duì),樓主你這根本就不是狀態(tài)模式泌神。
狀態(tài)模式重點(diǎn)是 將狀態(tài)的切換 封裝在狀態(tài)內(nèi)部良漱。
應(yīng)該在IcewaterState調(diào)用Context類的setState(State)。例如:
鍋爐加熱H2O, H2O從固體-》液體-》氣體
Boiler{
H20State state欢际;
setH20State(H20State state){
this.state = state;
}
riseTemperature{
state.riseTemperature();
}
}
H20State{
riseTemperature(Context)
}
H20StateSolid implements H20State {
riseTemperature(Boiler boiler) {
boiler.setState(new H20StateLiquid)母市;
}
}
H20StateLiquid implements H20State {
riseTemperature(Boiler boiler) {
boiler.setState(new H20StateGas);
}
}
H20StateGas implements H20State {
riseTemperature(Boiler boiler) {
//State no change
}
}
星耀之夢(mèng) 評(píng)論自設(shè)計(jì)模式—狀態(tài)模式
請(qǐng)問(wèn)“線程同步對(duì)數(shù)據(jù)的加鎖會(huì)有一定的系統(tǒng)開(kāi)銷(xiāo)”损趋,怎么理解?
三患久、說(shuō)說(shuō)NSThread、NSLock、NSRecursiveLock蒋失、NSCondtion使用這個(gè)方式比較輕量級(jí)返帕,但是優(yōu)缺點(diǎn)很明顯。有兩種方式: 使用detachNewThreadSelector:toTarget:withObject:這個(gè)類方法來(lái)生成線程篙挽。 創(chuàng)...