类型安全的键值数据缓存 - Cachyr

2016-12-09      89      Swift
项目简介

Cachyr

一个类型安全的键值数据缓存,应用于iOS,macOS,tvOS和watchOS,使用Swift编写。

为什么存在一些解决方案还需要它呢?存在的解决方案无法解决一些需求:

  • 纯粹使用Swift3编写
  • 类型安全,能够让任何数据储存到磁盘中以及内存缓存
  • 当前查找导致缓存丢失时恢复缓存的简单方法
  • 整洁,单一用途实现,只操作缓存。

安装

CocoaPods

Add to Podfile:
pod 'Cachyr', :git => 'https://github.com/YR/Cachyr.git'

Then:
$ pod install

手动

clone这个仓库到合适的地缝,比如放到你的项目仓库中,以便Cachyr可以作为一个子仓库添加,然后将Cachyr.xcodeproj拖拽到你的项目中。

另外可以创建框架并添加到你的项目中。

使用方法

let cache = DataCache()
let key = "foo"
let text = "bar"
cache.setValue(text, for: key)

// ... do important things ...

let cachedText: String? = cache.value(for: key)

// Or asynchronously
let cachedText = cache.value(for: key) { (value: String?) in
    // Do something with value
}

在这个示例中,字符串bar为键foo而储存在缓存中。它后来通过显示声明的String被检索为一个任意字符串。让我们看看泛型如何启用简单的数据转换。

let textAsData = cache.value(for: key) { (value: Data?) in
    print(value)
}