对高仿携程酒店模块多级筛选的模仿

此文章旨在帮助有项目中有类似携程酒店模块中多级筛选功能的程序员一个设计思路,如若真的需要,请联系本人,可以沟通交流,由于种种原因,此处不方便公开代码,还请谅解。

第一、看到功能的第一眼我们想到的肯定是三个UitableView的展示,然后根据数据动态的来控制展示或者隐藏,思路是对的,但是切记一点就是如果是需要隐藏的情况下一定要隐藏中间列,因为控制逻辑及其不同Cell的控制都在第三列,因为第三列会有多种展示情况,比如只能选择一行,可以全选,可以多选等。所以要隐藏第二行。

第二、由于数据的记录选择情况,我们需要从网络拿到数据之后自行建立Model,然后在model中扩展需要的字段来控制是否选中状态,当然了能否多选及其是否是单选等都是后台数据来控制的。对于数据我们需要用一个单例来处理,这样就能够实现类似携程那种记忆并且切换跳转界面的时候仍然展示着选择记忆。

第三、数据的修改就是遍历来修改单例的状态,Cell的展示则是根据数据的状态来展示,切记要使用单例。


下面为模拟数据:

{

"code": "1111111",

"data": [{

"name": "酒店类型",

"type": "mulit",

"list": [{

"name": "高端连锁",

"id": "100895"

},

{

"name": "快捷连锁",

"id": "100895"

},

{

"name": "酒店公寓",

"id": "100895"

},

{

"name": "客栈",

"id": "100895"

}

]

},

{

"name": "支付方式",

"type": "radio",

"list": [{

"name": "在线支付",

"id": "100895"

},

{

"name": "到店支付",

"id": "100895"

},

{

"name": "闪住",

"id": "100895"

}

]

},

{

"name": "品牌",

"type": "radio",

"list": [{

"name": "高端连锁",

"type": "mulit",

"list": [{

"name": "全部高端连锁酒店",

"id": "200356",

"all": "all"

}, {

"name": "锦江",

"id": "200356"

}, {

"name": "桔子水晶",

"id": "200357"

}, {

"name": "香格里拉",

"id": "200358"

}]

}, {

"name": "中端连锁",

"type": "mulit",

"list": [{

"name": "全部中端连锁酒店",

"id": "200356",

"all": "all"

}, {

"name": "全季",

"id": "200356"

}, {

"name": "维也纳",

"id": "200356"

}, {

"name": "如家精选",

"id": "200356"

}]

}, {

"name": "快捷连锁",

"type": "mulit",

"list": [{

"name": "全部酒店",

"id": "200356",

"all": "all"

}, {

"name": "如家",

"id": "200780"

}, {

"name": "7天",

"id": "200781"

}, {

"name": "速8",

"id": "200782"

}, {

"name": "布丁",

"id": "200783"

}]

}]

}, {

"name": "床型早餐",

"type": "radio",

"list": [{

"name": "床型",

"type": "radio",

"list": [{

"name": "大床",

"id": "300780"

}, {

"name": "双床",

"id": "300781"

}, {

"name": "单人床",

"id": "300782"

}, {

"name": "多张床",

"id": "300783"

}]

}, {

"name": "早餐",

"type": "radio",

"list": [{

"name": "含早餐",

"id": "400780"

}, {

"name": "单份早餐",

"id": "400781"

}, {

"name": "双份早餐",

"id": "400782"

}]

}]

}

]

}

你可能感兴趣的:(对高仿携程酒店模块多级筛选的模仿)