美文网首页swift程序员首页投稿(暂停使用,暂停投稿)
swift序列化/反序列化/归档的轻量级存储框架

swift序列化/反序列化/归档的轻量级存储框架

作者: Zero_Lee | 来源:发表于2016-07-03 17:06 被阅读237次

PieceStore

OC版本请移步OC版本

项目请移步Git项目地址

PieceStore是一个轻量级的key-value存储框架。

前言

最近在做一个运动健康方面的项目,在项目中有很多使用NSUserDefalut存储的工作,比如存储用户的userId, user_name以及一些基本的配置信息。之前我们可能简单的使用NSUserDefalut对单个属性进行存储,这会导致代码管理压力。所以PieceStore就是为了解决这种问题而存在的一个小型的框架。

适用于

假如你的项目当中有很多的零散信息需要持久化,数据量少,但是分散。还不至于使用数据库这种庞大的存储框架的时候,PieceStore也许非常适合你

特性

  • 持久化支持多用户
  • 对象之间的归档互不影响
  • 存储操作简单,再也不需要去编写序列化/反序列化的机械操作

安装

Podfile

在podfile中添加PieceStore依赖

 pod 'PieceStore', '~> 1.0.5'

然后运行pod 更新

 $ pod install

使用

基础用法

假如项目有个需求,需要存储用户的信息,在没有网络的情况下也可以显示

  • 定一个UserInfo模型

注意: 存储的Model类一定要继承CodingSupport

class UserInfo: CodingSupport { 
    var username: String = "default" //用户名 
    var userSex: Bool = true //用户性别
}
  • 更新用户信息
//更新用户名
func updateUserInfoName(name: String) {
    PieceStore.update(UserInfo.self, value: name, key: "username")
}
//更新用户性别
func updateUserInfoSex(sex: Bool) { 
    PieceStore.update(UserInfo.self, value: sex, key: "userSex")
}
  • 获取用户信息
func getUserInfoName() -> String { 
    return PieceStore.get(UserInfo.self, key: "username") as! String
}

进阶用法

我们上面已经存储量用户的相关信息,但是每个用户的信息是不一样的,App由`User_A`切换到了`User_B`账户,B账户肯定不需要A账户的存储信息,而且当`User_B`再切回`User_A`的时候,项目要保证A账户的信息还在。

这个时候,你可以考虑使用PieceStore的分管理用户存储功能 handleContext , handleContext方法可以在不同管理用户间快速切换,但是注意,同一时间只能存在一个管理用户。

func handleContext(id: String) { 
    PieceStore.handleContext(id)
}

相关文章

  • swift序列化/反序列化/归档的轻量级存储框架

    PieceStore OC版本请移步OC版本 项目请移步Git项目地址 PieceStore是一个轻量级的key-...

  • iOS-归档NSCoding序列化

    归档 归档->数据持久化的方式->加密(把文件加密《不是把数据加密》 归档分为: 1、存储数据(编码、序列化、归档...

  • iOS本地化存储

    一、数据存储的方式: 1、NSKeyedAchiever//序列化 存放对象,归档保存 缺点:归档的形式来保存...

  • iOS归档和解档

    OC的序列化和反序列化就是用来存储对象和访问对象。序列化就是通过归档把对象转化成二进制文件。反序列化就是通过解档把...

  • 2018-03-12

    ios通过Runtime动态完成数据存储(归档/解档) 实现数据序列化和反序列化,必定实现的两个方法: 当属性比较...

  • 归档

    归档是将一种或者多种数据类型进行序列化,解归档的过程就是将序列化的数据进行反序列化的解码,这里需要注意一点,归档的...

  • 数据存储之归档

    归档 NSKeyedArchiver : 序列化,把对象转为字节码,存储到文件中,然后将文件存储到硬盘中,实现数据...

  • iOS开发之归档

    前言 归档:将对转序列化成二级制数据,并保存在文件中。 解归档:将归档后的数据反序列化成明码(能够看懂)对象,供我...

  • Swift 知识点总结

    1.单粒 2.存储对象(归档/解归档) 用到 KakaJSON 框架 工具类 ArchiveTool.swift ...

  • iOS归档和解档

    关键词: 归档:数据持久化的一种方式,是将数据进行编码序列化之后存储的过程。适用于小量数据的存储。 解档:对归档的...

网友评论

    本文标题:swift序列化/反序列化/归档的轻量级存储框架

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