如何在每次模拟器运行时替换我的应用程序中的数据库(使用我正在处理的数据库)?(仍在添加数据并想检查它是否看起来不错)
我试过了,但它似乎没有工作,仍然使用旧数据库:
- (void)viewDidLoad
{
dbname = @"animaldatabase.sql";
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [documentPaths objectAtIndex:0];
dbpath = [documentsDir stringByAppendingPathComponent:dbname];
[self checkAndCreateDatabase];
[self readAnimalsFromDatabase];
[super viewDidLoad];
// Do any additional setup after loading the view.
mylabel.text = [NSString stringWithFormat:@"%d", [animals count]];
}
- (void) checkAndCreateDatabase{
BOOL success;
NSFileManager *fileManager = [NSFileManager defaultManager];
success = [fileManager fileExistsAtPath:dbpath];
if (success) {
//return;
[fileManager removeItemAtPath:dbpath error:nil];
}
NSString *dbPathFromApp = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:dbname];
[fileManager copyItemAtPath:dbPathFromApp toPath:dbpath error:nil];
}
iphone数据库的位置在哪里?当我的应用程序将数据库复制到 iphone 中时,它会在哪里结束?
更新
还添加了加载代码。
森蒂尔库玛:
我看不到这应该如何解决问题?如果它已经存在,这不只是跳过复制或我的数据库吗?
我想要的是删除我的 iphone 应用程序中的数据库。导入新数据库,然后运行它。