FireflyKV
FireflyKV 對象,主要(yào / yāo)用于(yú) KV 存儲的(de)初始化,存、取等操作,是(shì)主要(yào / yāo)的(de)類。
屬性
@property(nonatomic,weak) id<FireflyKVEncryptDelegate> _Nullable encrypeDelegate;
Type
typedef enum : NSUInteger {
FireflyKVTypeNone = 0,
FireflyKVTypeChaCha20,
FireflyKVTypeCustom
} FireflyKVType;
FireflyKVEncryptDelegate
自定義加密時(shí),用戶進行加密
- (NSData *_Nullable)fireflyKV_customEncryptData:(NSData *_Nullable)valueData;
參數:
屬性 |
類型 |
說(shuō)明 |
valueData |
NSData *_Nullable |
待加密的(de)二進制數據 |
返回值:
示例:
- (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í),用戶進行解密
- (NSData *_Nullable)fireflyKV_customDecodeData:(NSData *_Nullable)valueData;
參數:
屬性 |
類型 |
說(shuō)明 |
valueData |
NSData *_Nullable |
待解密的(de)二進制數據 |
返回值:
示例:
- (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;
參數:
屬性 |
類型 |
說(shuō)明 |
path |
NSString *_Nonnull |
KV 存儲庫路徑 |
返回值:
類型 |
instancetype _Nullable |
示例:
FireflyKV *fireflyKV = [FireflyKV fireflyKVWithPath:demoPath];
加密時(shí)初始化
+ (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 類型數值。
- (BOOL)setString:(NSString *_Nullable)value forKey:(NSString *_Nonnull)key;
參數:
屬性 |
類型 |
說(shuō)明 |
value |
NSString *_Nullable |
value 值 |
key |
NSString *_Nonnull |
key 鍵 |
返回值:
示例:
BOOL result = [fireflyKV setString:value forKey:key];
存儲 BOOL 類型數值
以(yǐ) key 作爲(wéi / wèi)鍵存儲 BOOL 類型數值。
- (BOOL)setBool:(BOOL)value forKey:(NSString *_Nonnull)key;
參數:
屬性 |
類型 |
說(shuō)明 |
value |
BOOL |
value 值 |
key |
NSString *_Nonnull |
key 鍵 |
返回值:
示例:
BOOL result = [fireflyKV setBool:value forKey:key];
存儲 int16_t 類型數值
以(yǐ) key 作爲(wéi / wèi)鍵存儲 int16_t 類型數值。
- (BOOL)setInt16:(int16_t)value forKey:(NSString *_Nonnull)key;
參數:
屬性 |
類型 |
說(shuō)明 |
value |
int16_t |
value 值 |
key |
NSString *_Nonnull |
key 鍵 |
返回值:
示例:
BOOL result = [fireflyKV setInt16:value forKey:key];
存儲 uint16_t 類型數值
以(yǐ) key 作爲(wéi / wèi)鍵存儲 uint16_t 類型數值。
- (BOOL)setUInt16:(uint16_t)value forKey:(NSString *_Nonnull)key;
參數:
屬性 |
類型 |
說(shuō)明 |
value |
uint16_t |
value 值 |
key |
NSString *_Nonnull |
key 鍵 |
返回值:
示例:
BOOL result = [fireflyKV setUInt16:value forKey:key];
存儲 int32_t 類型數值
以(yǐ) key 作爲(wéi / wèi)鍵存儲 int32_t 類型數值。
- (BOOL)setInt32:(int32_t)value forKey:(NSString *_Nonnull)key;
參數:
屬性 |
類型 |
說(shuō)明 |
value |
int32_t |
value 值 |
key |
NSString *_Nonnull |
key 鍵 |
返回值:
示例:
BOOL result = [fireflyKV setInt32:value forKey:key];
存儲 uint32_t 類型數值
以(yǐ) key 作爲(wéi / wèi)鍵存儲 uint32_t 類型數值。
- (BOOL)setUInt32:(uint32_t)value forKey:(NSString *_Nonnull)key;
參數:
屬性 |
類型 |
說(shuō)明 |
value |
uint32_t |
value 值 |
key |
NSString *_Nonnull |
key 鍵 |
返回值:
示例:
BOOL result = [fireflyKV setUInt32:value forKey:key];
存儲 int64_t 類型數值
以(yǐ) key 作爲(wéi / wèi)鍵存儲 int64_t 類型數值。
- (BOOL)setInt64:(int64_t)value forKey:(NSString *_Nonnull)key;
參數:
屬性 |
類型 |
說(shuō)明 |
value |
int64_t |
value 值 |
key |
NSString *_Nonnull |
key 鍵 |
返回值:
示例:
BOOL result = [fireflyKV setInt64:value forKey:key];
存儲 uint64_t 類型數值
以(yǐ) key 作爲(wéi / wèi)鍵存儲 uint64_t 類型數值。
- (BOOL)setUInt64:(uint64_t)value forKey:(NSString *_Nonnull)key;
參數:
屬性 |
類型 |
說(shuō)明 |
value |
uint64_t |
value 值 |
key |
NSString *_Nonnull |
key 鍵 |
返回值:
示例:
BOOL result = [fireflyKV setUInt64:value forKey:key];
存儲 float 類型數值
以(yǐ) key 作爲(wéi / wèi)鍵存儲 float 類型數值。
- (BOOL)setFloat:(float)value forKey:(NSString *_Nonnull)key;
參數:
屬性 |
類型 |
說(shuō)明 |
value |
float |
value 值 |
key |
NSString *_Nonnull |
key 鍵 |
返回值:
示例:
BOOL result = [fireflyKV setFloat:value forKey:key];
存儲 double 類型數值
以(yǐ) key 作爲(wéi / wèi)鍵存儲 double 類型數值。
- (BOOL)setDouble:(double)value forKey:(NSString *_Nonnull)key;
參數:
屬性 |
類型 |
說(shuō)明 |
value |
double |
value 值 |
key |
NSString *_Nonnull |
key 鍵 |
返回值:
示例:
BOOL result = [fireflyKV setDouble:value forKey:key];
存儲 NSData 類型數值
以(yǐ) key 作爲(wéi / wèi)鍵存儲 NSData 類型數值。
- (BOOL)setData:(NSData *_Nullable)value forKey:(NSString *_Nonnull)key;
參數:
屬性 |
類型 |
說(shuō)明 |
value |
NSData |
value 值 |
key |
NSString *_Nonnull |
key 鍵 |
返回值:
示例:
BOOL result = [fireflyKV setData:value forKey:key];
取 BOOL 類型數值
通過 key 取 BOOL 值,默認是(shì) NO
普通
- (BOOL)getBoolForKey:(NSString *_Nonnull)key;
參數:
屬性 |
類型 |
說(shuō)明 |
key |
NSString *_Nonnull |
key 鍵 |
返回值:
示例:
BOOL result = [fireflyKV getBoolForKey:key];
帶默認值
- (BOOL)getBoolForKey:(NSString *_Nonnull)key defaultValue:(BOOL)defaultValue;
參數:
屬性 |
類型 |
說(shuō)明 |
key |
NSString *_Nonnull |
key 鍵 |
defaultValue |
BOOL |
默認值 |
返回值:
示例:
BOOL result = [fireflyKV getBoolForKey:key defaultValue:NO];
取 NSString 類型數值
通過 key 取 NSString 值,默認是(shì) nil
普通
- (NSString *_Nullable)getStringForKey:(NSString *_Nonnull)key;
參數:
屬性 |
類型 |
說(shuō)明 |
key |
NSString *_Nonnull |
key 鍵 |
返回值:
示例:
NSString *result = [fireflyKV getStringForKey:key];
帶默認值
- (NSString *_Nullable)getStringForKey:(NSString *)key defaultValue:(NSString *_Nullable)defaultValue;
參數:
屬性 |
類型 |
說(shuō)明 |
key |
NSString *_Nonnull |
key 鍵 |
defaultValue |
NSString *_Nullable |
默認值 |
返回值:
示例:
NSString *result = [fireflyKV getStringForKey:key defaultValue:@"1"];
取 int16_t 類型數值
通過 key 取 int16_t 值,默認是(shì) 0
普通
- (int16_t)getInt16ForKey:(NSString *_Nonnull)key;
參數:
屬性 |
類型 |
說(shuō)明 |
key |
NSString *_Nonnull |
key 鍵 |
返回值:
示例:
int16_t result = [fireflyKV getInt16ForKey:key];
帶默認值
- (int16_t)getInt16ForKey:(NSString *_Nonnull)key defaultValue:(int16_t)defaultValue;
參數:
屬性 |
類型 |
說(shuō)明 |
key |
NSString *_Nonnull |
key 鍵 |
defaultValue |
int16_t |
默認值 |
返回值:
示例:
int16_t result = [fireflyKV getInt16ForKey:key defaultValue:1];
取 uint16_t 類型數值
通過 key 取 uint16_t 值,默認是(shì) 0
普通
- (uint16_t)getUInt16ForKey:(NSString *_Nonnull)key;
參數:
屬性 |
類型 |
說(shuō)明 |
key |
NSString *_Nonnull |
key 鍵 |
返回值:
示例:
uint16_t result = [fireflyKV getUInt16ForKey:key];
帶默認值
- (uint16_t)getUInt16ForKey:(NSString *_Nonnull)key defaultValue:(uint16_t)defaultValue;
參數:
屬性 |
類型 |
說(shuō)明 |
key |
NSString *_Nonnull |
key 鍵 |
defaultValue |
uint16_t |
默認值 |
返回值:
示例:
uint16_t result = [fireflyKV getUInt16ForKey:key defaultValue:1];
取 int32_t 類型數值
通過 key 取 int32_t 值,默認是(shì) 0
普通
- (int32_t)getInt32ForKey:(NSString *_Nonnull)key;
參數:
屬性 |
類型 |
說(shuō)明 |
key |
NSString *_Nonnull |
key 鍵 |
返回值:
示例:
uint16_t result = [fireflyKV getInt32ForKey:key];
帶默認值
- (int32_t)getInt32ForKey:(NSString *_Nonnull)key defaultValue:(int32_t)defaultValue;
參數:
屬性 |
類型 |
說(shuō)明 |
key |
NSString *_Nonnull |
key 鍵 |
defaultValue |
int32_t |
默認值 |
返回值:
示例:
int32_t result = [fireflyKV getInt32ForKey:key defaultValue:1];
取 uint32_t 類型數值
通過 key 取 uint32_t 值,默認是(shì) 0
普通
- (uint32_t)getUInt32ForKey:(NSString *_Nonnull)key;
參數:
屬性 |
類型 |
說(shuō)明 |
key |
NSString *_Nonnull |
key 鍵 |
返回值:
示例:
uint32_t result = [fireflyKV getUInt32ForKey:key];
帶默認值
- (uint32_t)getUInt32ForKey:(NSString *_Nonnull)key defaultValue:(uint32_t)defaultValue;
參數:
屬性 |
類型 |
說(shuō)明 |
key |
NSString *_Nonnull |
key 鍵 |
defaultValue |
uint32_t |
默認值 |
返回值:
示例:
uint32_t result = [fireflyKV getUInt32ForKey:key defaultValue:1];
取 int64_t 類型數值
通過 key 取 int64_t 值,默認是(shì) 0
普通
- (int64_t)getInt64ForKey:(NSString *_Nonnull)key;
參數:
屬性 |
類型 |
說(shuō)明 |
key |
NSString *_Nonnull |
key 鍵 |
返回值:
示例:
int64_t result = [fireflyKV getInt64ForKey:key];
帶默認值
- (int64_t)getInt64ForKey:(NSString *_Nonnull)key defaultValue:(int64_t)defaultValue;
參數:
屬性 |
類型 |
說(shuō)明 |
key |
NSString *_Nonnull |
key 鍵 |
defaultValue |
int64_t |
默認值 |
返回值:
示例:
int64_t result = [fireflyKV getInt64ForKey:key defaultValue:1];
取 uint64_t 類型數值
通過 key 取 uint64_t 值,默認是(shì) 0
普通
- (uint64_t)getUInt64ForKey:(NSString *_Nonnull)key;
參數:
屬性 |
類型 |
說(shuō)明 |
key |
NSString *_Nonnull |
key 鍵 |
返回值:
示例:
uint64_t result = [fireflyKV getUInt64ForKey:key];
帶默認值
- (uint64_t)getUInt64ForKey:(NSString *_Nonnull)key defaultValue:(uint64_t)defaultValue;
參數:
屬性 |
類型 |
說(shuō)明 |
key |
NSString *_Nonnull |
key 鍵 |
defaultValue |
uint64_t |
默認值 |
返回值:
示例:
uint64_t result = [fireflyKV getUInt64ForKey:key defaultValue:1];
取 float 類型數值
通過 key 取 float 值,默認是(shì) 0
普通
- (float)getFloatForKey:(NSString *_Nonnull)key;
參數:
屬性 |
類型 |
說(shuō)明 |
key |
NSString *_Nonnull |
key 鍵 |
返回值:
示例:
float result = [fireflyKV getFloatForKey:key];
帶默認值
- (float)getFloatForKey:(NSString *_Nonnull)key defaultValue:(float)defaultValue;
參數:
屬性 |
類型 |
說(shuō)明 |
key |
NSString *_Nonnull |
key 鍵 |
defaultValue |
float |
默認值 |
返回值:
示例:
float result = [fireflyKV getFloatForKey:key defaultValue:1.0];
取 double 類型數值
通過 key 取 double 值,默認是(shì) 0
普通
- (double)getDoubleForKey:(NSString *_Nonnull)key;
參數:
屬性 |
類型 |
說(shuō)明 |
key |
NSString *_Nonnull |
key 鍵 |
返回值:
示例:
double result = [fireflyKV getDoubleForKey:key];
帶默認值
- (double)getDoubleForKey:(NSString *_Nonnull)key defaultValue:(double)defaultValue;
參數:
屬性 |
類型 |
說(shuō)明 |
key |
NSString *_Nonnull |
key 鍵 |
defaultValue |
double |
默認值 |
返回值:
示例:
double result = [fireflyKV getDoubleForKey:key defaultValue:1.00];
取 NSData 類型數值
通過 key 取 NSData 值,默認是(shì) nil
普通
- (nullable NSData *)getDataForKey:(NSString *_Nonnull)key;
參數:
屬性 |
類型 |
說(shuō)明 |
key |
NSString *_Nonnull |
key 鍵 |
返回值:
示例:
NSData *result = [fireflyKV getDataForKey:key];
帶默認值
- (nullable NSData *)getDataForKey:(NSString *_Nonnull)key defaultValue:(nullable NSData *)defaultValue;
參數:
屬性 |
類型 |
說(shuō)明 |
key |
NSString *_Nonnull |
key 鍵 |
defaultValue |
nullable NSData * |
默認值 |
返回值:
示例:
NSData *result = [fireflyKV getDoubleForKey:key defaultValue:nil];
是(shì)否包含 key 值
移除 KV 庫中的(de)爲(wéi / wèi) key 的(de)數據
- (BOOL)containsKey:(NSString *_Nonnull)key;
參數
屬性 |
類型 |
說(shuō)明 |
key |
NSString *_Nonnull |
key 鍵 |
返回值
示例:
BOOL result = [fireflyKV containsKey:key];
删除 key 值
移除 KV 庫中的(de)爲(wéi / wèi) key 的(de)數據
- (BOOL)removeValueForKey:(NSString *_Nonnull)key;
參數
屬性 |
類型 |
說(shuō)明 |
key |
NSString *_Nonnull |
key 鍵 |
返回值
示例:
BOOL result = [fireflyKV removeValueForKey:key];
清除 KV 庫數據
- (void)clearAll;
參數
無
返回值
無
示例:
[fireflyKV clearAll];
删除 KV 存儲庫
- (BOOL)deleteKVDB;
參數
無
返回值
示例:
BOOL result = [fireflyKV deleteKVDB];
清除 KV 緩存對象
一(yī / yì /yí)定時(shí)間内不(bù)會在(zài)使用 path 對應的(de) KVDB
- (void)close;
參數
無
返回值
無
示例:
[fireflyKV close];
下一(yī / yì /yí)步:
性能對比