Closed heyehao2008 closed 8 years ago
返回表名的时候 加上userid
那意思是每一张表的表名都要加上userID来区别不同用户么
创建不同数据库也可以。 每个model 重载 getUsingLKDBHelper ,里面返回相应userid的数据库
getUsingLKDBHelper ,getTableName 都是类方法。重写这两个方法时,在类方法中不能通过self.uid获取到model的属性,总不能在model中写个单例来获取属性吧,这样也不科学。作者您有什么好的方法么?
// User.h文件
@interface User : NSObject
@property(copy,nonatomic)NSString* uid;
@end
// User.m文件
@implementation User
+ (LKDBHelper *)getUsingLKDBHelper{
static LKDBHelper* db;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
db = [[LKDBHelper alloc]initWithDBName:@"uid"];//这里如何传递uid
});
return db;
}
+ (NSString *)getTableName{
return [NSString stringWithFormat:@"RHFriendsAlertTable%@",@"uid"];//这里如何传递uid
}
+ (NSString *)getPrimaryKey{
return @"uid";
}
@end
更新:
不好意思,想偏了。uid应该是当前登录用户的uid,而不是model的uid属性。忽略这个问题吧
不好意思,请教一个问题: 比如社交类app。每一个账号登录后,只显示该账号缓存的数据。本来想为每张表都添加一个userID字段。后来想想应该为每一个账号创建一个数据库比较好。但是为每一个账号创建一个数据库,使用该库要怎么操作呢?