滴滴出行首頁(yè)(快車),可以上拉下拉底部菜單(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è)(快車),可以上拉下拉底部菜單(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)銷”盒音,怎么理解?
三、說(shuō)說(shuō)NSThread馅而、NSLock祥诽、NSRecursiveLock、NSCondtion使用這個(gè)方式比較輕量級(jí)瓮恭,但是優(yōu)缺點(diǎn)很明顯雄坪。有兩種方式: 使用detachNewThreadSelector:toTarget:withObject:這個(gè)類方法來(lái)生成線程。 創(chuàng)...