前面我們使用MJExtension實(shí)現(xiàn)了Model的歸檔:http://www.reibang.com/p/29fa289f6492
那么我們就可以很方便的存儲(chǔ)model了腰素。
那要是能有個(gè)庫直接存儲(chǔ)model雀哨,豈不是更方便,接下來就說一下EGOCache這個(gè)庫的用法仇参。
EGOCache 這個(gè)庫,我最常用的就是setobject ,forkey的形式來存藻治。這個(gè)跟字典基本是一樣的。
1.首先當(dāng)然還是導(dǎo)入工程了
cocoapods的文章那么多巷挥,我也不會(huì)講??桩卵,自己翻翻看看吧
pod 'EGOCache'
2.接下來導(dǎo)入到類里面了
import SwiftyJSON
import MJExtension
import EGOCache
2.1
HotKeyWordModel 這個(gè)類是待會(huì)需要存儲(chǔ)的對象的類
BaseModel 是上一篇文檔中寫到的 能夠?qū)崿F(xiàn)歸檔的類
http://www.reibang.com/p/29fa289f6492
通過繼承的方式,我們就不再需要在本類中寫一堆歸檔的代碼了
class HotKeyWordModel: BaseModel{
var Company:Array<Any>!
var Product:Array<Any>!
}
2.2
接下來就是解析從服務(wù)器獲取到的數(shù)據(jù)了
SwiftyJSON 是用來解析Json的一個(gè)庫倍宾,也不介紹了
let dataJson = JSON(result!)["data"].rawValue
2.2
通過MJExtension將字典轉(zhuǎn)成Model
這點(diǎn)跟在OC里面的寫法是一樣的
let hotKetWordModel = HotKeyWordModel.mj_object(withKeyValues: dataJson) as HotKeyWordModel
2.3(重點(diǎn)內(nèi)容)
當(dāng)然就是本文的主題 --存儲(chǔ)了
let SaveHotKeyWordModel = "SaveHotKeyWordModel"
```SaveHotKeyWordModel````
就是我們存儲(chǔ)hotKetWordModel所對應(yīng)的key雏节,當(dāng)我們?nèi)≈凳且彩且玫降?/p>
2.4 取值
let hotKetWordModel = EGOCache.global().object(forKey: SaveHotKeyWordModel) as! HotKeyWordModel
print(hotKetWordModel.mj_JSONString())
2.5 存儲(chǔ)的代碼融合一下
import UIKit
import SwiftyJSON
import MJExtension
import EGOCache
let SaveHotKeyWordModel = "SaveHotKeyWordModel"
class ViewControllerViewModel: BaseViewModel {
func GetHotKeyword() {
NetWorkUtilsSwift .shareTools.request(methodType: .GET, urlString: Get_GetHotKeyword, parameters: nil) { (result, error) in
if error == nil{
let dataJson = JSON(result!)["data"].rawValue
let hotKetWordModel = HotKeyWordModel.mj_object(withKeyValues: dataJson) as HotKeyWordModel
EGOCache.global().setObject(hotKetWordModel, forKey: SaveHotKeyWordModel)
}
}
}
}
總結(jié):
入門級別的文章,請多多指教高职。