Stash 0.5.0

Stash 0.5.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2016年1月
SPM支持SPM

Daniel Tomlinson维护。



Stash 0.5.0

Stash

Travis Build Status

Stash是Swift的并行对象缓存。它基于TMCache

Stash用于临时持久化对象,如网络响应(图片等)或难以再现的值。

Stash是一个简单的对象,它封装了Memory(一个快速的内存存储)和Disk(一个较慢的、基于文件系统的存储)。Memory在您的应用程序收到内存警告时会自动清除。Disk将项目持久化,直到您手动删除项目或使用限制自动删除。

缓存将接受任何符合NSCoding的对象,尽管我对外开放考虑不同的编码方式。

缓存的API主要是同步的,尽管大部分都有异步封装。

使用

Stash提供了一个相对简单的同步API,可以使用如下

let stash = try! Stash(name: "MyCache", rootPath: NSTemporaryDirectory())

let image = UIImage(...)
stash["MyKey"] = image

let retreivedImage = stash["MyKey"] as? UIImage

和一个异步API

let stash = try! Stash(name: "MyCache", rootPath: NSTemporaryDirectory())

let image = UIImage(...)
stash.setObject(image, forKey: "MyKey") { cache: Stash in
    // It's Done!!!
}

// Some time later, to access
stash.objectForKey("MyKey") { cache, key, value in
    let image = value as? UIImage
}

安装

Swift包管理器

将此仓库添加到您的Package.swift,然后运行swift build