add cache
This commit is contained in:
parent
ffcb893954
commit
f2c5133e79
22
dimensionhub/Core/DataCache.swift
Normal file
22
dimensionhub/Core/DataCache.swift
Normal 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
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -42,14 +42,20 @@ struct DateNavView: View {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.task {
|
.task {
|
||||||
let response = await API.getDateIndex(as: [DateNavView.DateModel].self)
|
let models = await DataCache.shared.getDateModelCache()
|
||||||
switch response {
|
if models.count > 0 {
|
||||||
case .error(let code, let message):
|
self.dateModels = models
|
||||||
print(code)
|
} else {
|
||||||
print(message)
|
let response = await API.getDateIndex(as: [DateNavView.DateModel].self)
|
||||||
case .result(let result):
|
switch response {
|
||||||
print(result)
|
case .error(let code, let message):
|
||||||
self.dateModels = result
|
print(code)
|
||||||
|
print(message)
|
||||||
|
case .result(let result):
|
||||||
|
print(result)
|
||||||
|
self.dateModels = result
|
||||||
|
await DataCache.shared.setDateModelCache(result)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user