Я впервые использую Core Data, и мне было просто любопытно, верно ли то, что я вижу.Каждый раз, когда я запускаю приложение через XCode, оно сообщает, что база данных существует, закрыта и открывается.В следующий раз, когда я запускаю приложение, происходит то же самое ...
Мой вопрос заключается в том, что я не закрываю базу данных сама, и мне просто было любопытно, если у меня что-то не так или iOS закрывает базу данных.
EDIT_001: Код добавлен.
- (void)viewDidLoad {
[super viewDidLoad];
if([self planetDatabase] == nil) {
// CREATE MANAGED DOCUMENT
NSLog(@"Database: Setup");
NSArray *userDocumentPath = [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask];
NSURL *databaseFileURL = [[userDocumentPath lastObject] URLByAppendingPathComponent:@"DefaultPlanetDatabase"];
[self setPlanetDatabase:[[UIManagedDocument alloc] initWithFileURL:databaseFileURL]];
// CHECK FOR EXISTING
if([[NSFileManager defaultManager] fileExistsAtPath:[databaseFileURL path]]) {
// OPEN IF CLOSED
if([[self planetDatabase] documentState] == UIDocumentStateClosed) {
NSLog(@"Database: Closed");
[[self planetDatabase] openWithCompletionHandler:^(BOOL success) {
if(success)[self doWhatsNext];
}];
// USE IF NORMAL
} else if([[self planetDatabase] documentState] == UIDocumentStateNormal) {
[self doWhatsNext];
}
// CREATE AND OPEN
} else {
[[self planetDatabase] saveToURL: [[self planetDatabase] fileURL] forSaveOperation:UIDocumentSaveForCreating completionHandler:^(BOOL success) {
if(success)[self doWhatsNext];
}];
}
}
}
При первом запуске этого кода из Xcode база данных создается «CREATE AND OPEN» при следующем запускеэтот код "ОТКРЫТ, ЕСЛИ ЗАКРЫТ" называется.Я предполагаю, что это правильно, но я просто пытаюсь проверить, действительно ли Xcode закрывает открытую базу данных между сборками.