如何将.sql文件添加到Xcode中的sqlite数据库

我正在写一个离线的iPhone应用程序,我需要从一个由less数几个表组成的数据库中读取和显示。 表中有超过10万个条目,所以几乎不可能单独input。 我已经下载了整个数据库的.sql文件。 现在我怎么可以将数据库导入到sqlite / Xcode,以便我可以随时开始访问数据? 编辑:我已经看到,使用数据库时,使用的文件扩展名是.db文件。 有反正我可以将.sql文件转换为.db文件。 如果我能做到这一点,我可以简单地通过将其放置在项目目录中来访问.db文件吗?

如果你已经创build了.sqlite文件并且有表格,那么把.sqlite文件添加到xcode中,就像从桌面拖动到你的包(Resources)中一样。然后使用NSFileManager来访问sqlite文件。你需要编写方法为createdatabase和初始化数据库,也可以看到你的文档文件夹/模拟器文件夹中的sqlite文件。

 - (void)createEditableCopyOfDatabaseIfNeeded { NSLog(@"Checking for database file"); NSFileManager *fileManager = [NSFileManager defaultManager]; NSError *error; NSString *dbPath = [self getDBPath]; NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"ihaikudb.sql"]; BOOL success = [fileManager fileExistsAtPath:dbPath]; NSLog(@"If needed, bundled default DB is at: %@",defaultDBPath); if(!success) { NSLog(@"Database didn't exist... Copying default from resource dir"); success = [fileManager copyItemAtPath:defaultDBPath toPath:dbPath error:&error]; if (!success) NSAssert1(0, @"Failed to create writable database file with message '%@'.", [error localizedDescription]); } else { NSLog(@"Database must have existed at the following path: %@", dbPath); } NSLog(@"Done checking for db file"); }