我在写入 Sqlite DB 时遇到问题,并且对最近一个问题的回答提供了关于为什么我无法更新/插入的线索。我从主包中获取对文件的引用并尝试插入记录。这不起作用,因为正如我发现的那样,主捆绑包是只读的。我需要能够对我的 Sqlite 数据库进行读/写访问。有人可以指出我在 iOS 应用程序中执行 Sqlite 插入的简单解释吗?谢谢,维
问问题
149 次
1 回答
1
您需要创建您在主包中的数据库的副本以获得写访问权限。像这样:
// Path to db
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* path = [paths objectAtIndex:0];
// Name of DB:
NSString* fullPath = [path stringByAppendingString:@"/original.db"];
// FileManager, to open db:
NSFileManager* fm = [NSFileManager defaultManager];
// do we already have a local copy?
if (![fm fileExistsAtPath:fullPath]) {
NSString* pathForNewDB = [[NSBundle mainBundle] pathForResource:@"database" ofType:@"db"];
// create local copy:
[fm copyItemAtPath:pathForNewDB toPath:fullPath error:NULL];
}
于 2013-04-06T14:31:25.080 回答