FireflyKV

FireflyKV 對象,主要(yào / yāo)用于(yú) KV 存儲的(de)初始化,存、取等操作,是(shì)主要(yào / yāo)的(de)類。

屬性

//自定義加密時(shí)的(de)代理
@property(nonatomic,weak) id<FireflyKVEncryptDelegate> _Nullable encrypeDelegate;

Type

typedef enum : NSUInteger {
    FireflyKVTypeNone = 0,//默認
    FireflyKVTypeChaCha20,//使用 ChaCha20 加密算法
    FireflyKVTypeCustom //自定義加密算法
} FireflyKVType;

FireflyKVEncryptDelegate

自定義加密時(shí),用戶進行加密

/**
     自定義加密時(shí),用戶進行加密

     @param valueData 待加密的(de)二進制數據
     @return 已加密的(de)二進制數據
*/
- (NSData *_Nullable)fireflyKV_customEncryptData:(NSData *_Nullable)valueData;
參數:
屬性 類型 說(shuō)明
valueData NSData *_Nullable 待加密的(de)二進制數據
返回值:
類型
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;
}

自定義加密時(shí),用戶進行解密

/**
 自定義加密時(shí),用戶進行解密

 @param valueData 待解密的(de)二進制數據
 @return 已解密的(de)二進制數據
 */
- (NSData *_Nullable)fireflyKV_customDecodeData:(NSData *_Nullable)valueData;
參數:
屬性 類型 說(shuō)明
valueData NSData *_Nullable 待解密的(de)二進制數據
返回值:
類型
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;
}

普通初始化

/**
 獲得 FireflyKV 對象

 @param path KV 存儲庫路徑
 @return FireflyKV 對象
 */
+ (instancetype _Nullable)fireflyKVWithPath:(NSString *_Nonnull)path;

參數:

屬性 類型 說(shuō)明
path NSString *_Nonnull KV 存儲庫路徑

返回值:

類型
instancetype _Nullable

示例:

FireflyKV *fireflyKV = [FireflyKV fireflyKVWithPath:demoPath];

加密時(shí)初始化

/**

 獲得 FireflyKV 對象,并存操作 KV 庫時(shí)使用加密算法

 @param path KV 存儲庫路徑
 @param keyData type 爲(wéi / wèi) FireflyKVTypeChaCha20 時(shí)
 @param fireflyKVType 加密類型
 @return FireflyKV 對象
 */
+ (instancetype _Nullable)fireflyKVWithPath:(NSString *_Nonnull)path KeyData:(NSData *_Nullable)keyData fireflyKVType:(FireflyKVType)fireflyKVType;

參數:

屬性 類型 說(shuō)明
path NSString *_Nonnull KV 存儲庫路徑
keyData NSData *_Nullable 爲(wéi / wèi) FireflyKVTypeChaCha20 時(shí)的(de) key 數據
fireflyKVType FireflyKVType 加密類型

返回值:

類型
instancetype _Nullable

示例:

FireflyKV *fireflyKV = [FireflyKV fireflyKVWithPath:demoPath KeyData:nil fireflyKVType:FireflyKVTypeNone];

存儲 NSString 類型數值

以(yǐ) key 作爲(wéi / wèi)鍵存儲 NSString 類型數值。

/**
 以(yǐ) key 作爲(wéi / wèi)鍵存儲 NSString 類型數值

 @param value 值
 @param key 鍵
 @return 存儲是(shì)否成功
 */
- (BOOL)setString:(NSString *_Nullable)value forKey:(NSString *_Nonnull)key;

參數:

屬性 類型 說(shuō)明
value NSString *_Nullable value 值
key NSString *_Nonnull key 鍵

返回值:

類型
BOOL

示例:

BOOL result = [fireflyKV setString:value forKey:key];

存儲 BOOL 類型數值

以(yǐ) key 作爲(wéi / wèi)鍵存儲 BOOL 類型數值。

/**
 以(yǐ) key 作爲(wéi / wèi)鍵存儲 BOOL 類型數值

 @param value 值
 @param key 鍵
 @return 存儲是(shì)否成功
 */
- (BOOL)setBool:(BOOL)value forKey:(NSString *_Nonnull)key;

參數:

屬性 類型 說(shuō)明
value BOOL value 值
key NSString *_Nonnull key 鍵

返回值:

類型
BOOL

示例:

BOOL result = [fireflyKV setBool:value forKey:key];

存儲 int16_t 類型數值

以(yǐ) key 作爲(wéi / wèi)鍵存儲 int16_t 類型數值。

/**
 以(yǐ) key 作爲(wéi / wèi)鍵存儲 int16_t 類型數值

 @param value 值
 @param key 鍵
 @return 存儲是(shì)否成功
 */
- (BOOL)setInt16:(int16_t)value forKey:(NSString *_Nonnull)key;

參數:

屬性 類型 說(shuō)明
value int16_t value 值
key NSString *_Nonnull key 鍵

返回值:

類型
BOOL

示例:

BOOL result = [fireflyKV setInt16:value forKey:key];

存儲 uint16_t 類型數值

以(yǐ) key 作爲(wéi / wèi)鍵存儲 uint16_t 類型數值。

/**
 以(yǐ) key 作爲(wéi / wèi)鍵存儲 uint16_t 類型數值

 @param value 值
 @param key 鍵
 @return 存儲是(shì)否成功
 */
- (BOOL)setUInt16:(uint16_t)value forKey:(NSString *_Nonnull)key;

參數:

屬性 類型 說(shuō)明
value uint16_t value 值
key NSString *_Nonnull key 鍵

返回值:

類型
BOOL

示例:

BOOL result = [fireflyKV setUInt16:value forKey:key];

存儲 int32_t 類型數值

以(yǐ) key 作爲(wéi / wèi)鍵存儲 int32_t 類型數值。

/**
 以(yǐ) key 作爲(wéi / wèi)鍵存儲 int32_t 類型數值

 @param value 值
 @param key 鍵
 @return 存儲是(shì)否成功
 */
- (BOOL)setInt32:(int32_t)value forKey:(NSString *_Nonnull)key;

參數:

屬性 類型 說(shuō)明
value int32_t value 值
key NSString *_Nonnull key 鍵

返回值:

類型
BOOL

示例:

BOOL result = [fireflyKV setInt32:value forKey:key];

存儲 uint32_t 類型數值

以(yǐ) key 作爲(wéi / wèi)鍵存儲 uint32_t 類型數值。

/**
 以(yǐ) key 作爲(wéi / wèi)鍵存儲 uint32_t 類型數值

 @param value 值
 @param key 鍵
 @return 存儲是(shì)否成功
 */
- (BOOL)setUInt32:(uint32_t)value forKey:(NSString *_Nonnull)key;

參數:

屬性 類型 說(shuō)明
value uint32_t value 值
key NSString *_Nonnull key 鍵

返回值:

類型
BOOL

示例:

BOOL result = [fireflyKV setUInt32:value forKey:key];

存儲 int64_t 類型數值

以(yǐ) key 作爲(wéi / wèi)鍵存儲 int64_t 類型數值。

/**
 以(yǐ) key 作爲(wéi / wèi)鍵存儲 int64_t 類型數值

 @param value 值
 @param key 鍵
 @return 存儲是(shì)否成功
 */
- (BOOL)setInt64:(int64_t)value forKey:(NSString *_Nonnull)key;

參數:

屬性 類型 說(shuō)明
value int64_t value 值
key NSString *_Nonnull key 鍵

返回值:

類型
BOOL

示例:

BOOL result = [fireflyKV setInt64:value forKey:key];

存儲 uint64_t 類型數值

以(yǐ) key 作爲(wéi / wèi)鍵存儲 uint64_t 類型數值。

/**
 以(yǐ) key 作爲(wéi / wèi)鍵存儲 uint64_t 類型數值

 @param value 值
 @param key 鍵
 @return 存儲是(shì)否成功
 */
- (BOOL)setUInt64:(uint64_t)value forKey:(NSString *_Nonnull)key;

參數:

屬性 類型 說(shuō)明
value uint64_t value 值
key NSString *_Nonnull key 鍵

返回值:

類型
BOOL

示例:

BOOL result = [fireflyKV setUInt64:value forKey:key];

存儲 float 類型數值

以(yǐ) key 作爲(wéi / wèi)鍵存儲 float 類型數值。

/**
 以(yǐ) key 作爲(wéi / wèi)鍵存儲 float 類型數值

 @param value 值
 @param key 鍵
 @return 存儲是(shì)否成功
 */
- (BOOL)setFloat:(float)value forKey:(NSString *_Nonnull)key;

參數:

屬性 類型 說(shuō)明
value float value 值
key NSString *_Nonnull key 鍵

返回值:

類型
BOOL

示例:

BOOL result = [fireflyKV setFloat:value forKey:key];

存儲 double 類型數值

以(yǐ) key 作爲(wéi / wèi)鍵存儲 double 類型數值。

/**
 以(yǐ) key 作爲(wéi / wèi)鍵存儲 double 類型數值

 @param value 值
 @param key 鍵
 @return 存儲是(shì)否成功
 */
- (BOOL)setDouble:(double)value forKey:(NSString *_Nonnull)key;

參數:

屬性 類型 說(shuō)明
value double value 值
key NSString *_Nonnull key 鍵

返回值:

類型
BOOL

示例:

BOOL result = [fireflyKV setDouble:value forKey:key];

存儲 NSData 類型數值

以(yǐ) key 作爲(wéi / wèi)鍵存儲 NSData 類型數值。

/**
 以(yǐ) key 作爲(wéi / wèi)鍵存儲 NSData 類型數值

 @param value 值
 @param key 鍵
 @return 存儲是(shì)否成功
 */
- (BOOL)setData:(NSData *_Nullable)value forKey:(NSString *_Nonnull)key;

參數:

屬性 類型 說(shuō)明
value NSData value 值
key NSString *_Nonnull key 鍵

返回值:

類型
BOOL

示例:

BOOL result = [fireflyKV setData:value forKey:key];

取 BOOL 類型數值

通過 key 取 BOOL 值,默認是(shì) NO

普通

/**
 通過 key 取 BOOL 值,默認是(shì) NO

 @param key 鍵
 @return 值
 */
- (BOOL)getBoolForKey:(NSString *_Nonnull)key;
參數:
屬性 類型 說(shuō)明
key NSString *_Nonnull key 鍵
返回值:
類型
BOOL
示例:
BOOL result = [fireflyKV getBoolForKey:key];

帶默認值

/**
 通過 key 取 bool 值

 @param key 鍵
 @param defaultValue 默認值
 @return 值
 */
- (BOOL)getBoolForKey:(NSString *_Nonnull)key defaultValue:(BOOL)defaultValue;
參數:
屬性 類型 說(shuō)明
key NSString *_Nonnull key 鍵
defaultValue BOOL 默認值
返回值:
類型
BOOL
示例:
BOOL result = [fireflyKV getBoolForKey:key defaultValue:NO];

取 NSString 類型數值

通過 key 取 NSString 值,默認是(shì) nil

普通

/**
 通過 key 取 NSString 值,默認是(shì) nil

 @param key 鍵
 @return 值
 */
- (NSString *_Nullable)getStringForKey:(NSString *_Nonnull)key;
參數:
屬性 類型 說(shuō)明
key NSString *_Nonnull key 鍵
返回值:
類型
NSString *_Nullable
示例:
NSString *result = [fireflyKV getStringForKey:key];

帶默認值

/**
 通過 key 取 NSString 值

 @param key 鍵
 @param defaultValue 默認值
 @return 值
 */
- (NSString *_Nullable)getStringForKey:(NSString *)key defaultValue:(NSString *_Nullable)defaultValue;
參數:
屬性 類型 說(shuō)明
key NSString *_Nonnull key 鍵
defaultValue NSString *_Nullable 默認值
返回值:
類型
NSString *_Nullable
示例:
NSString *result = [fireflyKV getStringForKey:key defaultValue:@"1"];

取 int16_t 類型數值

通過 key 取 int16_t 值,默認是(shì) 0

普通

/**
 通過 key 取 int16_t 值,默認是(shì) 0

 @param key 鍵
 @return 值
 */
- (int16_t)getInt16ForKey:(NSString *_Nonnull)key;
參數:
屬性 類型 說(shuō)明
key NSString *_Nonnull key 鍵
返回值:
類型
int16_t
示例:
int16_t result = [fireflyKV getInt16ForKey:key];

帶默認值

/**
 通過 key 取 int16_t 值并可以(yǐ)設置默認返回值

 @param key 鍵
 @param defaultValue 默認值
 @return 值
 */
- (int16_t)getInt16ForKey:(NSString *_Nonnull)key defaultValue:(int16_t)defaultValue;
參數:
屬性 類型 說(shuō)明
key NSString *_Nonnull key 鍵
defaultValue int16_t 默認值
返回值:
類型
int16_t
示例:
int16_t result = [fireflyKV getInt16ForKey:key defaultValue:1];

取 uint16_t 類型數值

通過 key 取 uint16_t 值,默認是(shì) 0

普通

/**
 通過 key 取 uint16_t 值,默認是(shì) 0

 @param key 鍵
 @return 值
 */
- (uint16_t)getUInt16ForKey:(NSString *_Nonnull)key;
參數:
屬性 類型 說(shuō)明
key NSString *_Nonnull key 鍵
返回值:
類型
uint16_t
示例:
uint16_t result = [fireflyKV getUInt16ForKey:key];

帶默認值

/**
 通過 key 取 uint16_t 值并可以(yǐ)設置默認返回值

 @param key 鍵
 @param defaultValue 默認值
 @return 值
 */
- (uint16_t)getUInt16ForKey:(NSString *_Nonnull)key defaultValue:(uint16_t)defaultValue;
參數:
屬性 類型 說(shuō)明
key NSString *_Nonnull key 鍵
defaultValue uint16_t 默認值
返回值:
類型
uint16_t
示例:
uint16_t result = [fireflyKV getUInt16ForKey:key defaultValue:1];

取 int32_t 類型數值

通過 key 取 int32_t 值,默認是(shì) 0

普通

/**
 通過 key 取 int32_t 值,默認是(shì) 0

 @param key 鍵
 @return 值
 */
- (int32_t)getInt32ForKey:(NSString *_Nonnull)key;
參數:
屬性 類型 說(shuō)明
key NSString *_Nonnull key 鍵
返回值:
類型
int32_t
示例:
uint16_t result = [fireflyKV getInt32ForKey:key];

帶默認值

/**
 通過 key 取 int32_t 值并可以(yǐ)設置默認返回值

 @param key 鍵
 @param defaultValue 默認值
 @return 值
 */
- (int32_t)getInt32ForKey:(NSString *_Nonnull)key defaultValue:(int32_t)defaultValue;
參數:
屬性 類型 說(shuō)明
key NSString *_Nonnull key 鍵
defaultValue int32_t 默認值
返回值:
類型
int32_t
示例:
int32_t result = [fireflyKV getInt32ForKey:key defaultValue:1];

取 uint32_t 類型數值

通過 key 取 uint32_t 值,默認是(shì) 0

普通

/**
 通過 key 取 uint32_t 值,默認是(shì) 0

 @param key 鍵
 @return 值
 */
- (uint32_t)getUInt32ForKey:(NSString *_Nonnull)key;
參數:
屬性 類型 說(shuō)明
key NSString *_Nonnull key 鍵
返回值:
類型
uint32_t
示例:
uint32_t result = [fireflyKV getUInt32ForKey:key];

帶默認值

/**
 通過 key 取 uint32_t 值并可以(yǐ)設置默認返回值

 @param key 鍵
 @param defaultValue 默認值
 @return 值
 */
- (uint32_t)getUInt32ForKey:(NSString *_Nonnull)key defaultValue:(uint32_t)defaultValue;
參數:
屬性 類型 說(shuō)明
key NSString *_Nonnull key 鍵
defaultValue uint32_t 默認值
返回值:
類型
uint32_t
示例:
uint32_t result = [fireflyKV getUInt32ForKey:key defaultValue:1];

取 int64_t 類型數值

通過 key 取 int64_t 值,默認是(shì) 0

普通

/**
 通過 key 取 int64_t 值,默認是(shì) 0

 @param key 鍵
 @return 值
 */
- (int64_t)getInt64ForKey:(NSString *_Nonnull)key;
參數:
屬性 類型 說(shuō)明
key NSString *_Nonnull key 鍵
返回值:
類型
int64_t
示例:
int64_t result = [fireflyKV getInt64ForKey:key];

帶默認值

/**
 通過 key 取 int64_t 值并可以(yǐ)設置默認返回值

 @param key 鍵
 @param defaultValue 默認值
 @return 值
 */
- (int64_t)getInt64ForKey:(NSString *_Nonnull)key defaultValue:(int64_t)defaultValue;
參數:
屬性 類型 說(shuō)明
key NSString *_Nonnull key 鍵
defaultValue int64_t 默認值
返回值:
類型
int64_t
示例:
int64_t result = [fireflyKV getInt64ForKey:key defaultValue:1];

取 uint64_t 類型數值

通過 key 取 uint64_t 值,默認是(shì) 0

普通

/**
 通過 key 取 uint64_t 值,默認是(shì) 0

 @param key 鍵
 @return 值
 */
- (uint64_t)getUInt64ForKey:(NSString *_Nonnull)key;
參數:
屬性 類型 說(shuō)明
key NSString *_Nonnull key 鍵
返回值:
類型
uint64_t
示例:
uint64_t result = [fireflyKV getUInt64ForKey:key];

帶默認值

/**
 通過 key 取 uint64_t 值并可以(yǐ)設置默認返回值

 @param key 鍵
 @param defaultValue 默認值
 @return 值
 */
- (uint64_t)getUInt64ForKey:(NSString *_Nonnull)key defaultValue:(uint64_t)defaultValue;
參數:
屬性 類型 說(shuō)明
key NSString *_Nonnull key 鍵
defaultValue uint64_t 默認值
返回值:
類型
uint64_t
示例:
uint64_t result = [fireflyKV getUInt64ForKey:key defaultValue:1];

取 float 類型數值

通過 key 取 float 值,默認是(shì) 0

普通

/**
 通過 key 取 float 值,默認是(shì) 0

 @param key 鍵
 @return 值
 */
- (float)getFloatForKey:(NSString *_Nonnull)key;
參數:
屬性 類型 說(shuō)明
key NSString *_Nonnull key 鍵
返回值:
類型
float
示例:
float result = [fireflyKV getFloatForKey:key];

帶默認值

/**
 通過 key 取 float 值并可以(yǐ)設置默認返回值

 @param key 鍵
 @param defaultValue 默認值
 @return 值
 */
- (float)getFloatForKey:(NSString *_Nonnull)key defaultValue:(float)defaultValue;
參數:
屬性 類型 說(shuō)明
key NSString *_Nonnull key 鍵
defaultValue float 默認值
返回值:
類型
float
示例:
float result = [fireflyKV getFloatForKey:key defaultValue:1.0];

取 double 類型數值

通過 key 取 double 值,默認是(shì) 0

普通

/**
 通過 key 取 double 值,默認是(shì) 0

 @param key 鍵
 @return 值
 */
- (double)getDoubleForKey:(NSString *_Nonnull)key;
參數:
屬性 類型 說(shuō)明
key NSString *_Nonnull key 鍵
返回值:
類型
double
示例:
double result = [fireflyKV getDoubleForKey:key];

帶默認值

/**
 通過 key 取 double 值并可以(yǐ)設置默認返回值

 @param key 鍵
 @param defaultValue 默認值
 @return 值
 */
- (double)getDoubleForKey:(NSString *_Nonnull)key defaultValue:(double)defaultValue;
參數:
屬性 類型 說(shuō)明
key NSString *_Nonnull key 鍵
defaultValue double 默認值
返回值:
類型
double
示例:
double result = [fireflyKV getDoubleForKey:key defaultValue:1.00];

取 NSData 類型數值

通過 key 取 NSData 值,默認是(shì) nil

普通

/**
 通過 key 取 NSData 值,默認是(shì) nil

 @param key 鍵
 @return 值
 */
- (nullable NSData *)getDataForKey:(NSString *_Nonnull)key;
參數:
屬性 類型 說(shuō)明
key NSString *_Nonnull key 鍵
返回值:
類型
nullable NSData *
示例:
NSData *result = [fireflyKV getDataForKey:key];

帶默認值

/**
 通過 key 取 NSData 值并可以(yǐ)設置默認返回值

 @param key 鍵
 @param defaultValue 默認值
 @return 值
 */
- (nullable NSData *)getDataForKey:(NSString *_Nonnull)key defaultValue:(nullable NSData *)defaultValue;
參數:
屬性 類型 說(shuō)明
key NSString *_Nonnull key 鍵
defaultValue nullable NSData * 默認值
返回值:
類型
nullable NSData *
示例:
NSData *result = [fireflyKV getDoubleForKey:key defaultValue:nil];

是(shì)否包含 key 值

移除 KV 庫中的(de)爲(wéi / wèi) key 的(de)數據

/**
 是(shì)否包含 key 值

 @param key 鍵
 @return 是(shì)/否
 */
- (BOOL)containsKey:(NSString *_Nonnull)key;

參數

屬性 類型 說(shuō)明
key NSString *_Nonnull key 鍵

返回值

類型
BOOL
示例:
BOOL result = [fireflyKV containsKey:key];

删除 key 值

移除 KV 庫中的(de)爲(wéi / wèi) key 的(de)數據

/**
 移除 KV 庫中的(de)爲(wéi / wèi) key 的(de)數據

 @param key 鍵
 @return 是(shì)否删除成功
 */
- (BOOL)removeValueForKey:(NSString *_Nonnull)key;

參數

屬性 類型 說(shuō)明
key NSString *_Nonnull key 鍵

返回值

類型
BOOL
示例:
BOOL result = [fireflyKV removeValueForKey:key];

清除 KV 庫數據

/**
 清除 KV 庫數據,可以(yǐ)繼續增删改查
 */
- (void)clearAll;

參數

返回值

示例:
[fireflyKV clearAll];

删除 KV 存儲庫

/**
 删除 KV 存儲庫

 @return 是(shì)否删除成功
 */
- (BOOL)deleteKVDB;

參數

返回值

類型
BOOL
示例:
BOOL result = [fireflyKV deleteKVDB];

清除 KV 緩存對象

一(yī / yì /yí)定時(shí)間内不(bù)會在(zài)使用 path 對應的(de) KVDB

/**
 清除 KV 緩存對象
 一(yī / yì /yí)定時(shí)間内不(bù)會在(zài)使用 path 對應的(de) KVDB
 */
- (void)close;

參數

返回值

示例:
[fireflyKV close];
下一(yī / yì /yí)步:

性能對比

Copyright © 屯昌單支科技有限公司 2019 all right reserved,powered by Gitbook聯系方式: wanglihang@mskj.com
修訂時(shí)間: 2019-09-03 17:48:17

results matching ""

    No results matching ""