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 に答える