OC對(duì)象歸檔/序列化/反序列化

ZObjcStore

Swift版本請(qǐng)移步Swift版本

項(xiàng)目請(qǐng)移步Git項(xiàng)目地址

ZObjcStore是一個(gè)輕量級(jí)的對(duì)象存儲(chǔ)框架。

適用于

假如你的項(xiàng)目當(dāng)中有很多的零散信息需要持久化,數(shù)據(jù)量少,但是分散。還不至于使用數(shù)據(jù)庫這種龐大的存儲(chǔ)框架的時(shí)候,ZObjcStore也許非常適合你

特性

  • 持久化支持多用戶
  • 對(duì)象之間的歸檔互不影響
  • 存儲(chǔ)操作簡(jiǎn)單,再也不需要去編寫序列化/反序列化的機(jī)械操作

安裝

Podfile

在podfile中添加ZObjcStore依賴

pod 'ZObjcStore', '~> 1.0.1'

然后運(yùn)行pod 更新

$ pod install

使用

基礎(chǔ)用法

導(dǎo)入頭文件

#import <ZObjcStore/ZCodingSupport.h>   
#import <ZObjcStore/ZObjcStore.h>   
定一個(gè)Student模型

注意: 存儲(chǔ)的Model類一定要繼承ZCodingSupport。

@interface Student : ZCodingSupport

@property (nonatomic, strong) NSString *name;

@property (nonatomic, assign) int age;

@end
更新用戶信息
//更新用戶名
+ (void)updateStudentName:(NSString *)name {
    [ZObjcStore update:[Student class] value:name key:@"name"];
}
獲取用戶信息
+ (NSString *)studentName {
    return [ZObjcStore get:[Student class] key:@"name"];
}

進(jìn)階用法

我們上面已經(jīng)存儲(chǔ)量用戶的相關(guān)信息,但是每個(gè)用戶的信息是不一樣的,App由`User_A`切換到了`User_B`賬戶,B賬戶肯定不需要A賬戶的存儲(chǔ)信息,而且當(dāng)`User_B`再切回`User_A`的時(shí)候,項(xiàng)目要保證A賬戶的信息還在。

這個(gè)時(shí)候,你可以考慮使用ZObjcStore的分管理用戶存儲(chǔ)功能 handleContext , handleContext方法可以在不同管理用戶間快速切換,但是注意,同一時(shí)間只能存在一個(gè)管理用戶。

+ (void)handleContext:(NSString *)userId {
    [ZObjcStore handleContext:userId];
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容