gpt4 book ai didi

ios - SQLite 数据库缺少一个表

转载 作者:行者123 更新时间:2023-11-29 02:49:01 25 4
gpt4 key购买 nike

我有以下代码片段,可在我的测试手机上创建 .sqlite 文件的可写版本:

NSFileManager *fileMgr = [NSFileManager defaultManager];

// First, test for existence of writable file:
NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *writableDBPath = [documentsDirectory stringByAppendingPathComponent:@"pictures.sqlite"];

BOOL success = [fileMgr fileExistsAtPath:writableDBPath];
if (!success){
// The writable database does not exist, so copy the default to the appropriate location.
NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"pictures.sqlite"];
success = [fileMgr copyItemAtPath:defaultDBPath toPath:writableDBPath error:&error];
if (!success) {
NSAssert1(0, @"Failed to create writable database file with message '%@'.", [error localizedDescription]);
}
}

我的 Mac 上的 pictures.sqlite 副本有 3 个表,并且是最新版本的数据库。我手机上的 .sqlite 文件只有 2 个表,这反射(reflect)了旧版本的数据库。我不知道如何更新手机以保存新数据库。有人可以帮我做这个吗?

最佳答案

当你的应用程序启动时,检查数据库的版本。 (此时检查第三张表是否存在)

如果太旧,请更新。 (即从资源中复制新版本,或者手动创建第三张表。)

关于ios - SQLite 数据库缺少一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24769023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com