シミュレーターを実行するたびに、アプリ内のデータベース(作業中のデータベース)をどのように置き換えることができますか?(まだデータを追加していて、見栄えが良いことを確認したい)
これを試しましたが、まだ古いデータベースを使用しているため、機能していないようです。
- (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アプリでデータベースを削除することです。新しいデータベースをインポートして実行します。