美文网首页坚持写iOS开发iOS开发资料收集区
swift中使用EGOCache方便存储model

swift中使用EGOCache方便存储model

作者: CocoaJason | 来源:发表于2017-03-24 10:34 被阅读260次

    前面我们使用MJExtension实现了Model的归档:http://www.jianshu.com/p/29fa289f6492
    那么我们就可以很方便的存储model了。
    那要是能有个库直接存储model,岂不是更方便,接下来就说一下EGOCache这个库的用法。

    EGOCache 这个库,我最常用的就是setobject ,forkey的形式来存。这个跟字典基本是一样的。

    1.首先当然还是导入工程了
    cocoapods的文章那么多,我也不会讲😢,自己翻翻看看吧

    pod 'EGOCache'
    

    2.接下来导入到类里面了

    import SwiftyJSON
    import MJExtension
    import EGOCache
    

    2.1
    HotKeyWordModel 这个类是待会需要存储的对象的类
    BaseModel 是上一篇文档中写到的 能够实现归档的类
    http://www.jianshu.com/p/29fa289f6492
    通过继承的方式,我们就不再需要在本类中写一堆归档的代码了

    class HotKeyWordModel: BaseModel{
        var Company:Array<Any>!
        var Product:Array<Any>!
    }
    

    2.2
    接下来就是解析从服务器获取到的数据了
    SwiftyJSON 是用来解析Json的一个库,也不介绍了

    let dataJson = JSON(result!)["data"].rawValue
    

    2.2
    通过MJExtension将字典转成Model
    这点跟在OC里面的写法是一样的

    let hotKetWordModel = HotKeyWordModel.mj_object(withKeyValues: dataJson) as HotKeyWordModel
    

    2.3(重点内容)
    当然就是本文的主题 --存储了

    let SaveHotKeyWordModel = "SaveHotKeyWordModel"
    

    ```SaveHotKeyWordModel````
    就是我们存储hotKetWordModel所对应的key,当我们取值是也是要用到的

    2.4 取值
    

    let hotKetWordModel = EGOCache.global().object(forKey: SaveHotKeyWordModel) as! HotKeyWordModel

            print(hotKetWordModel.mj_JSONString())
    
    
    2.5 存储的代码融合一下
    

    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)
            }
        }
    }
    

    }

    
    总结:
    入门级别的文章,请多多指教。

    相关文章

      网友评论

        本文标题:swift中使用EGOCache方便存储model

        本文链接:https://www.haomeiwen.com/subject/dkixottx.html