gpt4 book ai didi

objective-c - SQLite 步骤失败 : attempt to write a readonly database , 使用包装器

转载 作者:太空狗 更新时间:2023-10-30 04:01:44 26 4
gpt4 key购买 nike

使用此代码复制数据库时,我不断收到错误“SQLite 步骤失败:尝试写入只读数据库”:

-(void)createEditableCopyOfDatabaseIfNeeded 
{
// Testing for existence
BOOL success;
NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *writableDBPath =
[documentsDirectory stringByAppendingPathComponent:@"Money.sqlite"];

success = [fileManager fileExistsAtPath:writableDBPath];
if (success)
return;

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

我在 AppDelegate 中使用上面的代码还有这个:

NSString *writableDBPath =
[[NSBundle mainBundle] pathForResource:@"Money"
ofType:@"sqlite"];

在 ViewController.m 中

我正在使用 http://th30z.netsons.org/2008/11/objective-c-sqlite-wrapper/我做错了什么?

这种情况一次又一次发生...之前工作正常,但问题再次出现。

最佳答案

问题是您不能向包中写入任何内容。为了能够更改您的数据库,您需要将其复制到应用程序的文档或缓存文件夹并使用该副本。

关于objective-c - SQLite 步骤失败 : attempt to write a readonly database , 使用包装器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2782030/

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