RegionSelector(地区选择器)
简介
JavaShop IOS端地区选择器,最高支持四级地区选择,可定制性强,可随意切换UI配色,图标等

使用示例
        
        RegionSelector<RegionListBean>.build()
            
            .setDataEngine {[weak self] (data, dataSource) in
                
                
                
                regionApi.request(.get(parentId:  data == nil ? 0 :(data?.getId())!))
                    .subscribeOn(ConcurrentDispatchQueueScheduler(qos: .userInteractive))
                    .observeOn(MainScheduler.instance)
                    .filterSuccessfulStatusCodes()
                    .mapInstance(RegionData.self)
                    .subscribe(onSuccess: { (datas) in
                        dataSource(datas.data!)
                    }, onError: { (error) in
                        Log.error(error)
                    }).addDisposableTo((self?.disposeBag)!)
              
            }.setResultListener { (result) in
                Log.info(result.toString())
              
              .show(vc : self)
         
         struct RegionData: HandyJSON {
             var result : Int? = 0
             var message:String? = ""
             var data :[RegionListBean]? = [RegionListBean]()
        }
         struct RegionListBean :HandyJSON , RegionIInter{
             var region_id :Int = 0
             var local_name:String = ""
             var region_grade:Int = 0
             var p_region_id:Int = 0
             var childnum:Int = 0
             var cod:String = ""
             var zipcode:String = ""
             func getLevel() -> RegionLevel {
                switch region_grade {
                 case 1:
                    return RegionLevel.FIRST
                 case 2:
                    return RegionLevel.SECOND
                 case 3:
                    return RegionLevel.THIRD
                 case 4:
                    return RegionLevel.FOURTH
                 default:
                    return RegionLevel.ERROR
                }
            }
            func getName() -> String {
                return local_name
            }
            func getId() -> Int {
                return region_id
            }
        }
常用方法