内容简介:1.Download all the files in the2.Add the source files to your Xcode project
SwiftlyCache
Swiftlycache
is a thread safe IOS general cache library written with swift 5
.
Features
codable
Installation
CocoaPods
1.Add pod 'SwiftlyCache'
to your Podfile
pod install
or pod update
3.import SwiftlyCache
Manually
1.Download all the files in the SwiftlyCache
subdirectory
2.Add the source files to your Xcode project
Example:
Cache a struct complying with the codable
protocol
struct Student:Codable { var name:String var age:Int init(name:String,age:Int) { self.name = name self.age = age } }
let cache = MultiCache<Student>() let shirley = Student(name: "shirley", age: 30)
Set key
and value
to be cached
cache.set(forKey: "shirley10", value: shirley)
Query the corresponding value according to the given key
if let object = cache.object(forKey: "shirley1"){ print("当前Student是:\(object)") }
Query whether the corresponding value
exists in the cache according to key
let isExists = cache.isExistsObjectForKey(forKey: "shirley20")
See swiftlycachedemo
for more test code and cases
中文介绍
SwiftlyCache
是用 Swift 5
编写的一个线程安全的iOS通用缓存库。
特性:
-
支持所有遵守
Codable
协议的数据类型 - 支持LRU淘汰算法
- 当收到内存警告或者App进入后台时,内存缓存可以配置为自动清空或者手动清空
-
支持使用
Subscript
,使读写数据更加方便 -
提供了
MultiCacheGennerator、
MemoryCacheGenerator、
DiskCacheGenerator
用于支持for..in、
compactMap、
map、
filter
等方法
使用方法:
CocoaPods:
1.在Podfile中添加 pod 'SwiftlyCache'
2.执行 pod install
或者 pod update
3.导入 SwiftlyCache
手动导入:
1.下载 SwiftlyCache
文件夹内所有内容
2.将 SwiftlyCache
内的源文件添加到你的工程
示例:
将一个遵守 Codable
协议的struct进行缓存
struct Student:Codable { var name:String var age:Int init(name:String,age:Int) { self.name = name self.age = age } }
let cache = MultiCache<Student>() let shirley = Student(name: "shirley", age: 30)
设置需要缓存的 Key
和 Value
cache.set(forKey: "shirley10", value: shirley)
根据给定的 Key
查询对应的Value
if let object = cache.object(forKey: "shirley1"){ print("当前Student是:\(object)") }
根据 Key
查询缓存中是否存在对应的 Value
let isExists = cache.isExistsObjectForKey(forKey: "shirley20")
更多测试代码和用例见 SwiftlyCacheDemo
相关链接:
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- SwiftlyCache:线程安全的 iOS 通用缓存
- 高性能缓存服务器 nuster v1.8.8.1 支持 HTTP/2,多线程
- java中线程安全,线程死锁,线程通信快速入门
- ObjC 多线程简析(一)-多线程简述和线程锁的基本应用
- 轻松学会HTTP缓存(强缓存,协商缓存)
- Java多线程之线程中止
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
如何不在网上虚度人生
[美] 肯尼思·戈德史密斯 / 刘畅 / 北京联合出版公司 / 2017-9 / 39.80元
我们平时上网多大程度上是浪费时间,多大程度是在学习、关心社会、激发创造力?我们真能彻底断网,逃离社交网络吗? 手机把都市人变成一群电子僵尸,是福是祸? 浏览记录就是我们将来的回忆录吗?文件归档属于一种现代民间艺术? 不自拍、P图、发朋友圈,我还是我吗? 美国知名概念艺术家戈德史密斯认为:上网绝不是浪费时间,而是一种创造性的活动。在本书中他以跨学科角度、散文式语言进行论证,涉及大众传播学、计算......一起来看看 《如何不在网上虚度人生》 这本书的介绍吧!