ZObjcStore是一个轻量级的对象存储框架。
假若您的项目中有许多需要持久化的零散信息,数据量不多,但分布广泛,尚不需要使用像数据库那样庞大的存储框架的话,ZObjcStore可能非常适合您。
在Podfile中添加ZObjcStore依赖
pod 'ZObjcStore', '~> 1.0.1'
然后运行pod更新
$ pod install
导入头文件
#import <ZObjcStore/ZCodingSupport.h> #import <ZObjcStore/ZObjcStore.h>
注意:存储的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"];
}
我们在上面已经存储了用户的相关信息,但每个用户的信息是不同的。当App从‘User_A’切换到‘User_B’账户时,‘User_B’账户肯定不需要‘User_A’账户的存储信息,而且当‘User_B’再次切换回‘User_A’时,项目必须确保‘User_A’的信息仍在。
此时,您可以考虑使用ZObjcStore的分管理用户存储功能
handleContext
,该handleContext方法可以在不同管理用户之间快速切换,但请注意,同一时间只能存在一个管理用户。
+ (void)handleContext:(NSString *)userId {
[ZObjcStore handleContext:userId];
}