У меня странная проблема.Я пишу метод, который обрабатывает создание базы данных с основными данными, которая сначала проверяет, существует ли база данных, прежде чем открывать ее (если она найдена) или создавать ее (если она не найдена).Вот код:
- (void) loadClubs
{
NSLog(@"Checking for club database.");
NSLog(@"file url: %@", self.clubDatabase.fileURL.path);
if(![[NSFileManager defaultManager] fileExistsAtPath:[self.clubDatabase.fileURL path]])
{
NSLog(@"Creating club database.");
//_clubDatabase saveToURL:<#(NSURL *)#> forSaveOperation:<#(UIDocumentSaveOperation)#> completionHandler:<#^(BOOL success)completionHandler#>
[self.clubDatabase saveToURL: self.clubDatabase.fileURL forSaveOperation: UIDocumentSaveForCreating completionHandler:^(BOOL success){
NSLog(@"test");
}];
//NSLog(@"Created new database.");
//[self fetchClubData:self.clubDatabase];
}
else if (self.clubDatabase.documentState == UIDocumentStateClosed)
{
NSLog(@"Opening club database.");
[self.clubDatabase openWithCompletionHandler:^(BOOL success)
{
NSLog(@"Opened club database.");
[self fetchClubData:self.clubDatabase];
}];
}
else if (self.clubDatabase.documentState == UIDocumentStateNormal)
{
[self fetchClubData:self.clubDatabase];
NSLog(@"Club database is open. Proceeding as normal.");
}
}
Но у меня действительно странная проблема: когда я вызываю [self.clubDatabase saveToURL: self.clubDatabase.fileURL forSaveOperation: UIDocumentSaveForCreating completeHandler: ^ (успех BOOL) ..обработчик завершения не выполняется !!Я понятия не имею, что может быть причиной этого.Есть мысли?
Я пробовал:
- Проход по GDB
- Вызов _clubDatabase вместо выборки с использованием получателя
- Тестирование другого завершенияобработчики в Core Data (которые работают!)
Я понятия не имею, что вызывает это.Есть мысли?
Спасибо большое !!
- Андрей