HNStorage 0.5.0

HNStorage 0.5.0

Hady Nourallah维护。



HNStorage 0.5.0

  • 作者:Hady
  • Hady

HNStorage

HNStorage作为一个简单的、高效的和可扩展的CRUD层,可以作为不同iOS存储选项的中间层。

灵感来源

与不同的存储选项(如UserDefaults、Disk甚至keychain)一起工作可能会很麻烦,尤其是在企业项目中。

待办事项

  • 创建CRUD层的协议
  • 支持结构体
  • 添加对标准iOS存储选项的支持
  • 添加对列表的支持
  • 添加安全层,以保护数据存储
  • 添加对CoreData的支持
  • 支持Objective-C

支持的存储选项

密钥链(HNKeychainStorage

用户默认设置(HNUserDefaultsStorage

内存缓存(HNCacheStorage

本地磁盘缓存(HNDiskStorage

使用说明

我尽量使用HNStorage<Storage>使使用说明变得非常简单。您只需使用init方法,可以带或不带一个id,这里的id是用来区分相同存储的标识符,例如UserDefaults的suitname:或其他存储的Disk位置

例如

let storage = HNStorage<HNDiskStorage>() //default location.
let storage = HNStorage<HNDiskStorage>(id: "preferred_location_on_disk")
  • 对象必须遵守Storable协议,并且必须分配primaryKey
  • 目前我们支持简单的CRUD操作,所以我们有以下函数

insert(object: Storable)

update(object: Storable)

delete(object: Storable)

exists(object: Storable) -> Bool

get<T: Storable>(_ key: String) throws -> T?