Carlos:简单灵活的缓存

 ,  , 

屏幕快照 2016-03-25 下午2.55.51

Carlos 是一个简单灵活的缓存,使用 Swift 语言编写,可用于 iOS 8+ 、WatchOS 2 、tvOS 和 Mac OS X 应用程序。

Carlos 由一些类、函数和便利操作集合而成,可以在应用程序中实现自定义的灵活强大的缓存。

默认情况下,Carlos 包括内存缓存、本地磁盘缓存、简单的网络读取和 NSUserDefaults 单例缓存,其中本地磁盘缓存是受到了 HanekeSwift 的启发。

主要功能

  • 根据需求创建层次和读取器
  • 组合层次
  • 取消未决定的请求
  • 转换每个层次获得的键 ,或者每个层次输出的值(这意味着你可以根据需要自由的实现各个级别)。Carlos 已经提供了部分常用的值的转换器。
  • 针对缓存层次进行后期处理,例如过滤输出或调整图像
  • 后期处理和值转换也可以条件性的应用于根据键获取值
  • 在你的 app 中对内存紧张事件做出反应
  • 当较低层次为一个键读取一个值时,较高层次会进行自动填充,因此,下次第一个层次已经具有了缓存
  • 根据布尔条件启用或禁用组成缓存的特定级别
  • 简便的请求重用池 ,因此已不用担心在只用一个请求工作时,5个具有相同键的请求必须以一个昂贵的缓存层次执行
  • 当所有请求工作时,批量获取请求以便只得到通知
  • 根据确切的键或条件,为不同缓存被使用的复杂场景设置多条通道
  • 限制缓存处理的并发请求数量
  • 在一个特定的 GCD 队列中 Dispatch 所有的缓存操作
  • 具有类型安全的复杂缓存,甚至在代码不符合类型要求时不会进行编译

安装

在 Podfile 文件中添加代码:

在 Cartfile 文件中添加代码:

  • 作为子模块进行安装

如果你没有使用 CocoaPods ,你也可以将 Carlos 作为子模块进行安装,将 Carlos.xcodeproj 文件拖动到工程中,并在 TARGETS —> General —> Embedded Binaries 中添加 Carlos.framework 框架(对于 WatchOS 2 应用程序,使用 CarlosWatch.framework 框架;对于 Mac OS X 应用程序,使用 CarlosMac.framework 框架;对于 tvOS 应用程序,使用 CarlosTv.framework 框架)。

  • 手动安装

你可以直接将需要的文件拖动到工程中,但必须要注意,通过这种方式进行安装将无法自动获取 Carlos 的最新特性(例如包含新操作的新文件)。

用于 iOS 和 tvOS 的框架文件都包含在 Carlos 文件夹中。

如果你想要将 Carlos 集成到 WatchOS 2 应用程序中,请不要包含 MemoryWarning.swift 文件。

如果你想要将 Carlos 集成到 Mac OS X 应用程序中,请不要包含 MemoryWarning.swift 文件和所有带 +iOS 后缀的文件。此外,还需要将所有带 +Mac 后缀的文件添加进去。

Playground

我们在项目中添加了一个小的 Xcode Playground ,因此你可以快速的查看 Carlos 如何工作,并测试你的自定义层次、层次组合和不同配置的请求池等等。

请按照以下步骤使用 Playground :

  • 打开 Xcode 工程 Carlos.xcodeproj
  • 选择 Carlos 框架 TARGET 和一个64位平台(例如 iPhone 6)
  • 使用 ⌘+B 快捷键编译 TARGET
  • 点击 Carlos.playground 文件
  • 编写你的代码

要求

  • iOS 8.0+
  • WatchOS 2+
  • Mac OS X 10.9+
  • Xcode 7+
  • tvOS 9+

使用 Carlos 的 App

 

开源地址:https://github.com/WeltN24/Carlos

打赏支持我整理更多优质资源,谢谢!

打赏编辑

打赏支持我整理更多优质资源,谢谢!

任选一种支付方式

1 收藏

资源整理者简介:魏川程



直接登录

推荐关注

按分类快速查找

关于资源导航
  • 伯乐在线资源导航收录优秀的工具资源。内容覆盖开发、设计、产品和管理等IT互联网行业相关的领域。目前已经收录 1439 项工具资源。
    推送伯乐头条热点内容微信号:jobbole 分享干货的技术类微信号:iProgrammer