Как создать копируемую копию базы данных sqlite, которая включена в ваш проект iPhone Xcode? - PullRequest
0 голосов
/ 17 марта 2010

скопируйте его в каталог документов при запуске приложения. Предполагая, что ваша база данных sqlite находится в вашем проекте, вы можете использовать приведенный ниже код для копирования вашей базы данных в каталог документов Мы также предполагаем, что ваша база данных называется mydb.sqlite.

    //copy the database to documents
NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"mydb.sqlite"];
if(![fileManager fileExistsAtPath:path])
{
    NSData *data = [NSData dataWithContentsOfFile:[[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/mydb.sqlite"]];
    [data writeToFile:path atomically:YES];
}

Кто-нибудь знает лучший способ сделать это. Это похоже на работу ...

1 Ответ

1 голос
/ 18 марта 2010

Это выглядит актуально для меня. Вы также можете просто скопировать файл с помощью этого NSFileManager метода:

- (BOOL)copyItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath error:(NSError **)error;

Я думаю, что использование этого метода может быть немного более читабельным, но YMMV.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...