我想知道是否可以缓存tableView的JSON数据?
在我的VC中,我有这个变量:
//Categories json data
var categories: JSON! = []
然后,在alamofire的API调用内,我获取JSON数据并进行如下分配:
self.categories = JSON["catData"]
self.tableView.reloadData()
但是有没有办法缓存这些数据,让我不必每次调用API?
class DataCache: NSObject {
static let sharedInstance = DataCache()
var cache = [String, AnyObject]()
}
DataCache.sharedInstance.cache["TableViewNameKey"] = JSON["catData"]
self.categories = JSON["catData"] // Set this property for first time when you hit API
在viewWillAppear(animated: Bool)
方法中
if let lCategories = DataCache.sharedInstance.cache["TableViewNameKey"] {
self.categories = lCategories
}
SwiftlyCache 可用于数据缓存。您可以直接缓存符合 Codable 协议的数据。非常方便。如果您需要,可以尝试使用它 https://github.com/hlc0000/SwiftlyCache