Мое приложение использует базу данных, и в начале я хочу проверить, скопирована ли база данных в каталог документов. Если это не так, он должен быть скопирован туда.
Что может быть не так с кодом ниже? До сегодняшнего утра у меня все работало нормально. По какой-то причине база данных, которая создается в каталоге Documents на iPhone, полностью пуста.
- (void)viewDidLoad {
[super viewDidLoad];
self.databaseName = @"iWorkoutDatabase";
NSArray *documentsPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [documentsPath objectAtIndex:0];
self.databasePath = [[documentsDir stringByAppendingPathComponent:databaseName] retain];
}
- (void)checkAndCreateDatabase{
BOOL databaseIsSaved;
NSFileManager *fileManager = [NSFileManager defaultManager];
databaseIsSaved = [fileManager fileExistsAtPath:databasePath];
if (databaseIsSaved == YES) {
return;
}
else {
NSString *databasePathFromApp = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:databaseName];
[fileManager copyItemAtPath:databasePathFromApp toPath:databasePath error:nil];
}
[fileManager release];
}
Я схожу с ума, пытаясь понять это, поэтому было бы здорово, если бы кто-то мог мне помочь ...
РЕДАКТИРОВАТЬ: я добавил соответствующий код из метода viewDidLoad, и я посмотрел на путь документов из симулятора iPhone и там был фактически создан файл, но он был пустым.