Commit a6c1e01c authored by David黄金龙's avatar David黄金龙

缓存 首页banner

parent 909fd5de
......@@ -9,6 +9,7 @@
import UIKit
import ESPullToRefresh
import GKNavigationBarSwift
import SmartCodable
let kShowAlertOfSuggestLatestVersion = "show_alert_suggest_latest_version"
......@@ -107,6 +108,8 @@ class YHHomePageViewController: YHBaseViewController {
}
private extension YHHomePageViewController {
@objc func didSearchBarClicked() {
let vc = YHSearchInfomationVC()
vc.searchPlaceHolder = searchView.placeHolder
......@@ -115,17 +118,45 @@ private extension YHHomePageViewController {
}
func getData() {
homeHeaderView.homeBannerView.dataArr = [YHBannerModel.localDefaultItem()]
homeHeaderView.homeBannerView.dataArr = getLastBannerData()
loadFirstData()
getHomeBannerData()
}
func getLastBannerData()->[YHBannerModel] {
let arrString2 = UserDefaults.standard.value(forKey: "homeBannerData")
if let tmp = arrString2 as? String,let dic = tmp.toArray() {
guard let result = [YHBannerModel].deserialize(from: dic as? [Any]) else {
return [YHBannerModel.localDefaultItem()]
}
var arrData = result as? [YHBannerModel]
if let arr = arrData {
if arr.isEmpty {
let model = YHBannerModel.localDefaultItem()
arrData = [model]
} else if arr.count > 10 {
arrData = Array(arrData?[0...9] ?? [])
}
return arrData!
}
}
return [YHBannerModel.localDefaultItem()]
}
func getHomeBannerData() {
DispatchQueue.global().async {
self.viewModel.getHomeBanner(0) {[weak self] success, error in
guard let self = self else { return }
DispatchQueue.main.async {
self.homeHeaderView.homeBannerView.dataArr = self.viewModel.banners ?? [YHBannerModel.localDefaultItem()]
if let arrB = self.viewModel.banners,arrB.count > 0 {
let arrString = arrB.toJSONString()
UserDefaults.standard.set(arrString, forKey: "homeBannerData")
UserDefaults.standard.synchronize()
}
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment