FireflyKV
FireflyKV 对象,主要用于 KV 存储的初始化,存、取等操作,是主要的类。
属性
@property(nonatomic,weak) id<FireflyKVEncryptDelegate> _Nullable encrypeDelegate;
Type
typedef enum : NSUInteger {
FireflyKVTypeNone = 0,
FireflyKVTypeChaCha20,
FireflyKVTypeCustom
} FireflyKVType;
FireflyKVEncryptDelegate
自定义加密时,用户进行加密
- (NSData *_Nullable)fireflyKV_customEncryptData:(NSData *_Nullable)valueData;
参数:
属性 |
类型 |
说明 |
valueData |
NSData *_Nullable |
待加密的二进制数据 |
返回值:
示例:
- (NSData *_Nullable)fireflyKV_customEncryptData:(NSData *_Nullable)valueData
{
if (!valueData) return valueData;
NSData *key = [@"12345678876543211234567887654321" dataUsingEncoding:NSUTF8StringEncoding];
NSData * iv = [@"1234567887654321" dataUsingEncoding:NSUTF8StringEncoding];
id<FireflySymmetryCryptoInterface> cipher = [FireflySymmetryCryptoHelper getImplementationWithType:FireflySymmetryCrypto_AES];
NSData *encData = [cipher encryptData:valueData Key:key ivector:iv mode:FireflySymmetryCryptoMode_CBC padding:FireflySymmetryCryptoPadding_PKCS7 error:nil];
return encData;
}
自定义加密时,用户进行解密
- (NSData *_Nullable)fireflyKV_customDecodeData:(NSData *_Nullable)valueData;
参数:
属性 |
类型 |
说明 |
valueData |
NSData *_Nullable |
待解密的二进制数据 |
返回值:
示例:
- (NSData *_Nullable)fireflyKV_customDecodeData:(NSData *_Nullable)valueData
{
if (!valueData) return valueData;
NSData *key = [@"12345678876543211234567887654321" dataUsingEncoding:NSUTF8StringEncoding];
NSData * iv = [@"1234567887654321" dataUsingEncoding:NSUTF8StringEncoding];
id<FireflySymmetryCryptoInterface> cipher = [FireflySymmetryCryptoHelper getImplementationWithType:FireflySymmetryCrypto_AES];
NSData *decData = [cipher decryptData:valueData Key:key ivector:iv mode:FireflySymmetryCryptoMode_CBC padding:FireflySymmetryCryptoPadding_PKCS7 error:nil];
return decData;
}
普通初始化
+ (instancetype _Nullable)fireflyKVWithPath:(NSString *_Nonnull)path;
参数:
属性 |
类型 |
说明 |
path |
NSString *_Nonnull |
KV 存储库路径 |
返回值:
类型 |
instancetype _Nullable |
示例:
FireflyKV *fireflyKV = [FireflyKV fireflyKVWithPath:demoPath];
加密时初始化
+ (instancetype _Nullable)fireflyKVWithPath:(NSString *_Nonnull)path KeyData:(NSData *_Nullable)keyData fireflyKVType:(FireflyKVType)fireflyKVType;
参数:
属性 |
类型 |
说明 |
path |
NSString *_Nonnull |
KV 存储库路径 |
keyData |
NSData *_Nullable |
为 FireflyKVTypeChaCha20 时的 key 数据 |
fireflyKVType |
FireflyKVType |
加密类型 |
返回值:
类型 |
instancetype _Nullable |
示例:
FireflyKV *fireflyKV = [FireflyKV fireflyKVWithPath:demoPath KeyData:nil fireflyKVType:FireflyKVTypeNone];
存储 NSString 类型数值
以 key 作为键存储 NSString 类型数值。
- (BOOL)setString:(NSString *_Nullable)value forKey:(NSString *_Nonnull)key;
参数:
属性 |
类型 |
说明 |
value |
NSString *_Nullable |
value 值 |
key |
NSString *_Nonnull |
key 键 |
返回值:
示例:
BOOL result = [fireflyKV setString:value forKey:key];
存储 BOOL 类型数值
以 key 作为键存储 BOOL 类型数值。
- (BOOL)setBool:(BOOL)value forKey:(NSString *_Nonnull)key;
参数:
属性 |
类型 |
说明 |
value |
BOOL |
value 值 |
key |
NSString *_Nonnull |
key 键 |
返回值:
示例:
BOOL result = [fireflyKV setBool:value forKey:key];
存储 int16_t 类型数值
以 key 作为键存储 int16_t 类型数值。
- (BOOL)setInt16:(int16_t)value forKey:(NSString *_Nonnull)key;
参数:
属性 |
类型 |
说明 |
value |
int16_t |
value 值 |
key |
NSString *_Nonnull |
key 键 |
返回值:
示例:
BOOL result = [fireflyKV setInt16:value forKey:key];
存储 uint16_t 类型数值
以 key 作为键存储 uint16_t 类型数值。
- (BOOL)setUInt16:(uint16_t)value forKey:(NSString *_Nonnull)key;
参数:
属性 |
类型 |
说明 |
value |
uint16_t |
value 值 |
key |
NSString *_Nonnull |
key 键 |
返回值:
示例:
BOOL result = [fireflyKV setUInt16:value forKey:key];
存储 int32_t 类型数值
以 key 作为键存储 int32_t 类型数值。
- (BOOL)setInt32:(int32_t)value forKey:(NSString *_Nonnull)key;
参数:
属性 |
类型 |
说明 |
value |
int32_t |
value 值 |
key |
NSString *_Nonnull |
key 键 |
返回值:
示例:
BOOL result = [fireflyKV setInt32:value forKey:key];
存储 uint32_t 类型数值
以 key 作为键存储 uint32_t 类型数值。
- (BOOL)setUInt32:(uint32_t)value forKey:(NSString *_Nonnull)key;
参数:
属性 |
类型 |
说明 |
value |
uint32_t |
value 值 |
key |
NSString *_Nonnull |
key 键 |
返回值:
示例:
BOOL result = [fireflyKV setUInt32:value forKey:key];
存储 int64_t 类型数值
以 key 作为键存储 int64_t 类型数值。
- (BOOL)setInt64:(int64_t)value forKey:(NSString *_Nonnull)key;
参数:
属性 |
类型 |
说明 |
value |
int64_t |
value 值 |
key |
NSString *_Nonnull |
key 键 |
返回值:
示例:
BOOL result = [fireflyKV setInt64:value forKey:key];
存储 uint64_t 类型数值
以 key 作为键存储 uint64_t 类型数值。
- (BOOL)setUInt64:(uint64_t)value forKey:(NSString *_Nonnull)key;
参数:
属性 |
类型 |
说明 |
value |
uint64_t |
value 值 |
key |
NSString *_Nonnull |
key 键 |
返回值:
示例:
BOOL result = [fireflyKV setUInt64:value forKey:key];
存储 float 类型数值
以 key 作为键存储 float 类型数值。
- (BOOL)setFloat:(float)value forKey:(NSString *_Nonnull)key;
参数:
属性 |
类型 |
说明 |
value |
float |
value 值 |
key |
NSString *_Nonnull |
key 键 |
返回值:
示例:
BOOL result = [fireflyKV setFloat:value forKey:key];
存储 double 类型数值
以 key 作为键存储 double 类型数值。
- (BOOL)setDouble:(double)value forKey:(NSString *_Nonnull)key;
参数:
属性 |
类型 |
说明 |
value |
double |
value 值 |
key |
NSString *_Nonnull |
key 键 |
返回值:
示例:
BOOL result = [fireflyKV setDouble:value forKey:key];
存储 NSData 类型数值
以 key 作为键存储 NSData 类型数值。
- (BOOL)setData:(NSData *_Nullable)value forKey:(NSString *_Nonnull)key;
参数:
属性 |
类型 |
说明 |
value |
NSData |
value 值 |
key |
NSString *_Nonnull |
key 键 |
返回值:
示例:
BOOL result = [fireflyKV setData:value forKey:key];
取 BOOL 类型数值
通过 key 取 BOOL 值,默认是 NO
普通
- (BOOL)getBoolForKey:(NSString *_Nonnull)key;
参数:
属性 |
类型 |
说明 |
key |
NSString *_Nonnull |
key 键 |
返回值:
示例:
BOOL result = [fireflyKV getBoolForKey:key];
带默认值
- (BOOL)getBoolForKey:(NSString *_Nonnull)key defaultValue:(BOOL)defaultValue;
参数:
属性 |
类型 |
说明 |
key |
NSString *_Nonnull |
key 键 |
defaultValue |
BOOL |
默认值 |
返回值:
示例:
BOOL result = [fireflyKV getBoolForKey:key defaultValue:NO];
取 NSString 类型数值
通过 key 取 NSString 值,默认是 nil
普通
- (NSString *_Nullable)getStringForKey:(NSString *_Nonnull)key;
参数:
属性 |
类型 |
说明 |
key |
NSString *_Nonnull |
key 键 |
返回值:
示例:
NSString *result = [fireflyKV getStringForKey:key];
带默认值
- (NSString *_Nullable)getStringForKey:(NSString *)key defaultValue:(NSString *_Nullable)defaultValue;
参数:
属性 |
类型 |
说明 |
key |
NSString *_Nonnull |
key 键 |
defaultValue |
NSString *_Nullable |
默认值 |
返回值:
示例:
NSString *result = [fireflyKV getStringForKey:key defaultValue:@"1"];
取 int16_t 类型数值
通过 key 取 int16_t 值,默认是 0
普通
- (int16_t)getInt16ForKey:(NSString *_Nonnull)key;
参数:
属性 |
类型 |
说明 |
key |
NSString *_Nonnull |
key 键 |
返回值:
示例:
int16_t result = [fireflyKV getInt16ForKey:key];
带默认值
- (int16_t)getInt16ForKey:(NSString *_Nonnull)key defaultValue:(int16_t)defaultValue;
参数:
属性 |
类型 |
说明 |
key |
NSString *_Nonnull |
key 键 |
defaultValue |
int16_t |
默认值 |
返回值:
示例:
int16_t result = [fireflyKV getInt16ForKey:key defaultValue:1];
取 uint16_t 类型数值
通过 key 取 uint16_t 值,默认是 0
普通
- (uint16_t)getUInt16ForKey:(NSString *_Nonnull)key;
参数:
属性 |
类型 |
说明 |
key |
NSString *_Nonnull |
key 键 |
返回值:
示例:
uint16_t result = [fireflyKV getUInt16ForKey:key];
带默认值
- (uint16_t)getUInt16ForKey:(NSString *_Nonnull)key defaultValue:(uint16_t)defaultValue;
参数:
属性 |
类型 |
说明 |
key |
NSString *_Nonnull |
key 键 |
defaultValue |
uint16_t |
默认值 |
返回值:
示例:
uint16_t result = [fireflyKV getUInt16ForKey:key defaultValue:1];
取 int32_t 类型数值
通过 key 取 int32_t 值,默认是 0
普通
- (int32_t)getInt32ForKey:(NSString *_Nonnull)key;
参数:
属性 |
类型 |
说明 |
key |
NSString *_Nonnull |
key 键 |
返回值:
示例:
uint16_t result = [fireflyKV getInt32ForKey:key];
带默认值
- (int32_t)getInt32ForKey:(NSString *_Nonnull)key defaultValue:(int32_t)defaultValue;
参数:
属性 |
类型 |
说明 |
key |
NSString *_Nonnull |
key 键 |
defaultValue |
int32_t |
默认值 |
返回值:
示例:
int32_t result = [fireflyKV getInt32ForKey:key defaultValue:1];
取 uint32_t 类型数值
通过 key 取 uint32_t 值,默认是 0
普通
- (uint32_t)getUInt32ForKey:(NSString *_Nonnull)key;
参数:
属性 |
类型 |
说明 |
key |
NSString *_Nonnull |
key 键 |
返回值:
示例:
uint32_t result = [fireflyKV getUInt32ForKey:key];
带默认值
- (uint32_t)getUInt32ForKey:(NSString *_Nonnull)key defaultValue:(uint32_t)defaultValue;
参数:
属性 |
类型 |
说明 |
key |
NSString *_Nonnull |
key 键 |
defaultValue |
uint32_t |
默认值 |
返回值:
示例:
uint32_t result = [fireflyKV getUInt32ForKey:key defaultValue:1];
取 int64_t 类型数值
通过 key 取 int64_t 值,默认是 0
普通
- (int64_t)getInt64ForKey:(NSString *_Nonnull)key;
参数:
属性 |
类型 |
说明 |
key |
NSString *_Nonnull |
key 键 |
返回值:
示例:
int64_t result = [fireflyKV getInt64ForKey:key];
带默认值
- (int64_t)getInt64ForKey:(NSString *_Nonnull)key defaultValue:(int64_t)defaultValue;
参数:
属性 |
类型 |
说明 |
key |
NSString *_Nonnull |
key 键 |
defaultValue |
int64_t |
默认值 |
返回值:
示例:
int64_t result = [fireflyKV getInt64ForKey:key defaultValue:1];
取 uint64_t 类型数值
通过 key 取 uint64_t 值,默认是 0
普通
- (uint64_t)getUInt64ForKey:(NSString *_Nonnull)key;
参数:
属性 |
类型 |
说明 |
key |
NSString *_Nonnull |
key 键 |
返回值:
示例:
uint64_t result = [fireflyKV getUInt64ForKey:key];
带默认值
- (uint64_t)getUInt64ForKey:(NSString *_Nonnull)key defaultValue:(uint64_t)defaultValue;
参数:
属性 |
类型 |
说明 |
key |
NSString *_Nonnull |
key 键 |
defaultValue |
uint64_t |
默认值 |
返回值:
示例:
uint64_t result = [fireflyKV getUInt64ForKey:key defaultValue:1];
取 float 类型数值
通过 key 取 float 值,默认是 0
普通
- (float)getFloatForKey:(NSString *_Nonnull)key;
参数:
属性 |
类型 |
说明 |
key |
NSString *_Nonnull |
key 键 |
返回值:
示例:
float result = [fireflyKV getFloatForKey:key];
带默认值
- (float)getFloatForKey:(NSString *_Nonnull)key defaultValue:(float)defaultValue;
参数:
属性 |
类型 |
说明 |
key |
NSString *_Nonnull |
key 键 |
defaultValue |
float |
默认值 |
返回值:
示例:
float result = [fireflyKV getFloatForKey:key defaultValue:1.0];
取 double 类型数值
通过 key 取 double 值,默认是 0
普通
- (double)getDoubleForKey:(NSString *_Nonnull)key;
参数:
属性 |
类型 |
说明 |
key |
NSString *_Nonnull |
key 键 |
返回值:
示例:
double result = [fireflyKV getDoubleForKey:key];
带默认值
- (double)getDoubleForKey:(NSString *_Nonnull)key defaultValue:(double)defaultValue;
参数:
属性 |
类型 |
说明 |
key |
NSString *_Nonnull |
key 键 |
defaultValue |
double |
默认值 |
返回值:
示例:
double result = [fireflyKV getDoubleForKey:key defaultValue:1.00];
取 NSData 类型数值
通过 key 取 NSData 值,默认是 nil
普通
- (nullable NSData *)getDataForKey:(NSString *_Nonnull)key;
参数:
属性 |
类型 |
说明 |
key |
NSString *_Nonnull |
key 键 |
返回值:
示例:
NSData *result = [fireflyKV getDataForKey:key];
带默认值
- (nullable NSData *)getDataForKey:(NSString *_Nonnull)key defaultValue:(nullable NSData *)defaultValue;
参数:
属性 |
类型 |
说明 |
key |
NSString *_Nonnull |
key 键 |
defaultValue |
nullable NSData * |
默认值 |
返回值:
示例:
NSData *result = [fireflyKV getDoubleForKey:key defaultValue:nil];
是否包含 key 值
移除 KV 库中的为 key 的数据
- (BOOL)containsKey:(NSString *_Nonnull)key;
参数
属性 |
类型 |
说明 |
key |
NSString *_Nonnull |
key 键 |
返回值
示例:
BOOL result = [fireflyKV containsKey:key];
删除 key 值
移除 KV 库中的为 key 的数据
- (BOOL)removeValueForKey:(NSString *_Nonnull)key;
参数
属性 |
类型 |
说明 |
key |
NSString *_Nonnull |
key 键 |
返回值
示例:
BOOL result = [fireflyKV removeValueForKey:key];
清除 KV 库数据
- (void)clearAll;
参数
无
返回值
无
示例:
[fireflyKV clearAll];
删除 KV 存储库
- (BOOL)deleteKVDB;
参数
无
返回值
示例:
BOOL result = [fireflyKV deleteKVDB];
清除 KV 缓存对象
一定时间内不会在使用 path 对应的 KVDB
- (void)close;
参数
无
返回值
无
示例:
[fireflyKV close];
下一步:
性能对比