在我当前的项目中,iOS应用程序将根据位置使用不同的数据库。数据库采用原始SQL,因此每个数据库都表示为数据库文件,并通过创建与数据库的连接来查询。
我知道这可以使用* .lproj文件夹来实现,如果是这样,我对最常用的加载和使用相应数据库的方式感兴趣。
在网上搜索时,我考虑过使用DatabaseHelper类来管理数据库并包含一个NSLocale实例,该实例使用
设置- (void) initWithLocale {
[super init];
locale = [NSLocale currentLocale];
}
这可以用来确定要加载哪个数据库,还是有更好的方法来执行此操作?
提前致谢。
答案 0 :(得分:2)
如果您正在使用本地化,我认为这很简单。
在您的本地化.strings
文件上。为每个数据库文件名添加密钥和值。
例如:英语
"my db" = "englishdb.sqlite";
西班牙文
"my db" = "spanishdb.sqlite";
无论您在何处访问数据库名称,都使用:
NSString *dbName = NSLocalizedString(@"my db", @"");
如果您使用[NSLocale currentLocale];
,最好的方法是添加database names as value
的{{1}}和locale names as key
,并根据区域设置从该plist中获取数据库名称