GBStorageController 1.1.0

GBStorageController 1.1.0

测试已测试
语言语言 Obj-CObjective C
许可 Apache 2
发布最后发布2014年12月

Luka Mirosevic维护。



  • 作者:
  • Luka Mirosevic

一种简单的 iOS 和 Mac OS X 持久化层,具有内存缓存和预加载功能。

使用方法

存储

GBStorage[@"name"] = @"Luka";               //saves in-memory only
[GBStorage save];                           //syncs in-memory changes to disk

读取

GBStorage[@"name"];                         //returns "Luka", checks cache first, if not found reads from disk

特定同步

[GBStorage save:@"name"];                   //syncs a specific key to disk

预加载缓存

[GBStorage preload:@"bigObject"];           //asynchronously loads a specific key into memory for fast future access

清除缓存

[GBStorage clearCache];                     //Evicts entire in-memory cache, but leaves files on disk. e.g. in low memory situations
[GBStorage clearCacheForKey:@"name"];       //Evicts a single key from the in-memory cache

删除

[GBStorage deletePermanently:@"bigObject"]; //deletes data from disk and cache

不要忘记导入头文件,对于 iOS

#import "GBStorageController.h"

... 或者 MacOS

#import <GBStorageController/GBStorageController.h>

存储机制

存储在内存缓存中的对象只是通过强指针保留。如果它们可能被修改,那么传递一个副本到 GBStorageController 可能是个好主意。一旦将对象存储到 GBStorageController 中,您仍然可以修改对象,但请注意,这些更改不会持久到磁盘,直到您调用 [GBStorage save]。出于性能原因,对象不是自动复制的。

键需要是 NSString 类型。它们会自动复制,以避免如果修改它们时出现未定义行为。

传递给 GBStorageController 的对象必须遵守 NSCoding 协议。这是为了使对象能够被序列化到磁盘。

依赖项

iOS: 将其添加到项目的 workspace 中,为 GBToolbox-iOS 添加依赖项,与二进制链接,添加 -ObjC 链接器标志,添加头文件搜索路径。

OS X: 将其添加到项目的 workspace 中,为 GBToolbox-OSX 添加依赖项,与二进制链接,添加“复制文件”步骤将框架复制到 bundle 中。

版权 & 许可

版权所有 2013 Luka Mirosevic

本作品根据 Apache 许可协议版本 2.0 (“协议”) 许可;除非根据协议履行义务或书面同意,否则不得使用本作品。您可以在 LICENSE 文件中或通过以下链接获取协议的副本:

https://apache.ac.cn/licenses/LICENSE-2.0

除非适用法律要求或以书面形式同意,否则在本协议下分发的软件按照“现状”基础分发,不提供任何明示或暗示保证,无论是关于其适销性、适用性还是不侵犯任何第三方的权利。有关本协议的特定语言管辖权和限制,请参阅许可协议。