add cache

This commit is contained in:
anlicheng 2025-02-20 17:04:42 +08:00
parent ffcb893954
commit f2c5133e79
2 changed files with 36 additions and 8 deletions

View File

@ -0,0 +1,22 @@
//
// DataCache.swift
// dimensionhub
//
// Created by on 2025/2/20.
//
actor DataCache {
public static let shared = DataCache()
private var dateModelCache: [DateNavView.DateModel] = []
func setDateModelCache(_ models: [DateNavView.DateModel]) {
self.dateModelCache = models
}
func getDateModelCache() -> [DateNavView.DateModel] {
return self.dateModelCache
}
}

View File

@ -42,6 +42,10 @@ struct DateNavView: View {
} }
} }
.task { .task {
let models = await DataCache.shared.getDateModelCache()
if models.count > 0 {
self.dateModels = models
} else {
let response = await API.getDateIndex(as: [DateNavView.DateModel].self) let response = await API.getDateIndex(as: [DateNavView.DateModel].self)
switch response { switch response {
case .error(let code, let message): case .error(let code, let message):
@ -50,6 +54,8 @@ struct DateNavView: View {
case .result(let result): case .result(let result):
print(result) print(result)
self.dateModels = result self.dateModels = result
await DataCache.shared.setDateModelCache(result)
}
} }
} }
} }