2012-03-13 3 views
2

Je dois attendre que le fichier soit déplacé vers un nouvel emplacement pour pouvoir l'utiliser.Attendre que l'opération soit terminée

En simulateur, ce code s'exécute rapidement et le fichier est déplacé vers un nouvel emplacement avant que je commence à l'utiliser, mais sur un périphérique réel, il ne l'est pas.

J'ai essayé d'utiliser @synchronized mais il semble que ce ne soit pas le bon outil.

Des conseils?

 NSURL *newurl = [[legacyPersistentStoreURL URLByDeletingPathExtension] URLByAppendingPathExtension:@"guide"]; 
     NSURL *desturl = [newurl URLByAppendingPathComponent:@"StoreContent"]; 
     [[NSFileManager defaultManager] createDirectoryAtURL:desturl withIntermediateDirectories:YES attributes:nil error:NULL]; 
     NSURL *finalurl = [desturl URLByAppendingPathComponent:@"persistentStore"]; 
     [fileManager moveItemAtURL:legacyPersistentStoreURL toURL:finalurl error:NULL]; 

Répondre

2

Cette méthode peut aider

- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait; 
+0

Non, cela ne fonctionne pas. Erreur UIManagedDocument: L'opération n'a pas pu être terminée. (Erreur cacao 260.) 2012-03-13 14: 39: 21.371 Guides [8824: 2403] { reason = "Fichier de stockage manquant"; } – Shmidt

+0

@Flink il existe un autre problème dans le code. vous obtenez NSFileReadNoSuchFileError. – Vignesh

+0

C'est à cause du fichier n'a pas été déplacé vers un nouvel emplacement. Le code suivant qui utilise ce fichier s'exécute dans le même temps lorsque le fichier se déplace – Shmidt

Questions connexes