swift+moya URLCahe
发布时间:2020-12-14 05:11:45 所属栏目:百科 来源:网络整理
导读:1、定义获取缓存策略的接口 import Foundationprotocol CachePolicyGettable { var cachePolicy: URLRequest.CachePolicy { get }} 2、TargetType 实现该接口 extension MoyaAPI: TargetType,CachePolicyGettable { var cachePolicy: URLRequest.CachePolicy
1、定义获取缓存策略的接口 import Foundation protocol CachePolicyGettable { var cachePolicy: URLRequest.CachePolicy {get} } 2、TargetType 实现该接口 extension MoyaAPI: TargetType,CachePolicyGettable { var cachePolicy: URLRequest.CachePolicy { switch self { case .featured,.pizza,.categories: return .reloadIgnoringLocalCacheData } } ... } 3、实现PluginType extension MoyaAPI: TargetType,.categories: return .reloadIgnoringLocalCacheData } } 4、应用PluginType let MoyaAPIPrivider = MoyaProvider<MoyaAPI>(plugins: [CachePolicyPlugin()]) func all() -> Observable<[FeaturedViewModel]> { let networkData = MoyaAPIPrivider.rx.request(.featured) .filterSuccessfulStatusCodes() .debug() .mapArray(Featured.self) .map{ item -> [FeaturedViewModel] in var viewModels: [FeaturedViewModel] = [] for model in item { try! model.createOrUpdate() let viewModel = FeaturedViewModel(model: model) viewModels.append(viewModel) } return viewModels }.asObservable() } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |