测试已测试 | ✓ |
语言语言 | SwiftSwift |
许可证 | MIT |
发布最后发布 | 2017年3月 |
SwiftSwift版本 | 3.0 |
支持SPM支持Swift Package Manager (SPM) | ✓ |
一个用于iOS、macOS、tvOS和watchOS的类型安全键值数据缓存,由Swift编写。
已经有许多缓存解决方案,那么为什么还要再创建一个呢?我们在一些要求中,现有的解决方案满足了一些要求,但并不全部满足
克隆仓库到合适的地方,例如在您的项目仓库中,这样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)
}
现在使用完全相同的键检索值的表示。缓存存储所有内容,通过为类型实现DataConvertable
协议,可以在从值检索时将缓存的转换为在检索值时定义的返回类型。
对于Data
、String
、Int
(全部整数类型)、Float
和Double
有默认的DataConvertable
实现。
有关使用示例的详细信息,请参阅Usage.md。
这个框架已经生产就绪,但还有许多可能的改进。一些已知的任务包括
DataConvertable
支持更常见的数据类型。欢迎提交拉取请求。