Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/93.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone iOS检查数据库是否已创建,并在要加载的.sqlite文件之间进行选择_Iphone_Ios_Sqlite_Core Data_Ios6 - Fatal编程技术网

Iphone iOS检查数据库是否已创建,并在要加载的.sqlite文件之间进行选择

Iphone iOS检查数据库是否已创建,并在要加载的.sqlite文件之间进行选择,iphone,ios,sqlite,core-data,ios6,Iphone,Ios,Sqlite,Core Data,Ios6,我正在开发一个使用coredata的iOS应用程序。我有2.sqlite数据库,应该在应用程序启动时加载。一个数据库有英语信息,另一个数据库有葡萄牙语信息。我希望我的应用程序只在第一次运行语言选择时显示,然后加载相应的数据库。之后,我希望加载另一个视图,并且语言选择不应再次出现 到目前为止,我的应用程序只在应用程序开始时加载一个数据库。有人能告诉我怎么做吗?对不起,问题不是很具体:s 谢谢 最重要的是基本上,您需要允许用户选择其语言,然后使用特定的.sqlite文件作为种子数据建立一个新的NSP

我正在开发一个使用coredata的iOS应用程序。我有2.sqlite数据库,应该在应用程序启动时加载。一个数据库有英语信息,另一个数据库有葡萄牙语信息。我希望我的应用程序只在第一次运行语言选择时显示,然后加载相应的数据库。之后,我希望加载另一个视图,并且语言选择不应再次出现

到目前为止,我的应用程序只在应用程序开始时加载一个数据库。有人能告诉我怎么做吗?对不起,问题不是很具体:s

谢谢
最重要的是

基本上,您需要允许用户选择其语言,然后使用特定的.sqlite文件作为种子数据建立一个新的NSPersistentStore

您可以这样做(请原谅伪代码)

答案主要来自这里:

将用户选择的语言存储在keychain或NSUserDefault中。在appdelegate中,检查是第一次加载应用程序(您可以在第一次启动时使用NSUserDefault设置一些值)并加载所选语言文件谢谢:),但如何隐藏允许在第二次运行应用程序时选择语言的视图,然后过渡到适当的视野?谢谢,您需要将他们的选择保存到磁盘,然后检查应用程序何时启动。因此,当我点击english时,应用程序应将“english”保存为我在[NSUserDefaults standardUserDefaults]中的选择。然后,您可以签入应用程序:didFinishLaunchingWithOptions:如果NSUserDefaults有选择权,则将用户发送到其他视图控制器。
if (/*user chose English*/) {

  __persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];

  [self addSeedDataNamed: @"English.sqlite" toCoordinator:__persistentStoreCoordinator];

}else if (/*user chose portuguese*/){
  [self addSeedDataNamed: @"Portuguese.sqlite" toCoordinator:__persistentStoreCoordinator];
}

- (void) addSeedDataNamed:(NSString *)name toCoordinator:(NSPersistentStoreCoordinator *)storeCoordinator
{
  NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:name];

  NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES], NSReadOnlyPersistentStoreOption, nil];
  [storeCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:options error:&error];
}