专业java、php、iOS、C++、网页设计、平面设计、网络营销、游戏开发、前端与移动开发培训机构

定义 UserAccount 模型

  • 需要将 AccessToken 保存起来,并在程序运行中随时都可以访问 AccessToken, 定义 CZUserAccount 模型来保存 AccessToken 相关信息

  • 定义 HMUserAccount 模型属性

    /// 接口获取授权后的access token
    var access_token: String?
    //
    /// access_token的生命周期,单位是秒数
    var expires_in: String?
    // 
    /// 当前授权用户的UID
    var uid: String?
    
  • 字典转模型方法

    // 字典转模型 KVC
    init(dict: [String: Any]) {
      super.init()
    
      setValuesForKeys(dict)
    }
    
  • 实现对象打印
    // 对象打印信息
    override var description: String {
      let keys = ["access_token", "uid", "expires_in"]
      return dictionaryWithValues(forKeys: keys).description
    }
    

设置过期日期

  • 在新浪微博返回的数据中,过期日期是以当前系统时间加上秒数计算的,为了方便后续使用,增加过期日期属性
  • HMUserAccount 添加 expiresDate 属性
    /// access_token的生命周期,方便系统处理时间
    var expiresDate: Date?
    
  • expires_in添加属性监视器,当 expires_in 变化时,生成 expiresDate 属性
    var expires_in: NSTimeInterval = 0 {
          didSet {
              expiresDate = Date(timeIntervalSinceNow: expires_in)
          }
      }
    
  • 修改 description 对象打印信息
    /// 对象打印信息
    override var description: String {
      let keys = ["access_token", "uid", "expires_in", "expiresDate"]
      return dictionaryWithValuesForKeys(keys).description
    }
    

results matching ""

    No results matching ""