我想知道是否可以缓存 tableView JSON 数据?
在我的 VC 中我有这个变量:
//Categories json data
var categories: JSON! = []
然后稍后在 alamofire api 调用中我获取 json 数据并将其分配如下:
self.categories = JSON["catData"]
self.tableView.reloadData()
但是有什么方法可以缓存这些数据,这样我就不必每次都调用 API 了吗?
最佳答案
您可以创建一个单独的 DataCache 类,您可以在其中存储所有要缓存的数据。更喜欢将数据存储在特定键的字典中
class DataCache: NSObject {
static let sharedInstance = DataCache()
var cache = [String, AnyObject]()
}
现在在你的 api 调用中,调用这个方法
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
}
关于ios - Swift缓存tableview json数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40824892/