问题描述:有多个账户,先登录第一个账号,退出登录,登录第二个账号,杀掉应用程序,启动app,此时发现从数据库 取出的还是第一个账号的信息,而不是第二次登录的账号信息
问题分析:查看JKDBModel的源码,发现
1.+ (JKDBHelper *)shareInstance;单例类,只创建一次。
2.NSString *dbpath = [docsdir stringByAppendingPathComponent:[NSString stringWithFormat:@"%@jkdb.sqlite",USER_ID]];源码的数据库叫jkdb.sqlite,登录多个账号的时候,应该给一个可以区分的,有唯一性的名字
结果:第一路径加userid来区分。第二,每次存数据库前面,销毁JKDBHelper。在JKDBHelper里加上类方法
+ (void)destroyJKDBHelper{
onceToken = 0;
_instance = nil;
}
网友评论