Je suis un peu une n00b Cocoa, mais je vous écris ce simple petit programme et je ne peux pas obtenir la méthode déléguée NSFileManager « de shouldProceedAfterError ... » au feu. Voici le code que je suis en cours d'exécution dans mon AppDelegateSuis-je fou? Aide avec NSFileManager méthode déléguée shouldProceedAfterError dans 10.5+
-(BOOL)copyFile {
[[NSFileManager defaultManager] setDelegate:self];
NSError *copyError = nil;
NSString *filename = [[NSString alloc] initWithString:[[[self.sourceFile path] componentsSeparatedByString:@"/"] lastObject]];
NSString *destination = [[[[[UserData sharedData] folderLocation] path] stringByAppendingString:@"/"] stringByAppendingString:filename];
[[NSFileManager defaultManager] copyItemAtPath:[self.sourceFile path] toPath:destination error:©Error];
NSLog(@"error! %@",copyError);
[filename release];
return YES;
}
- (BOOL)fileManager:(NSFileManager *)fileManager shouldProceedAfterError:(NSError *)error copyingItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath {
NSLog(@"more error... %@",error);
return NO;
}
- (BOOL)fileManager:(NSFileManager *)fileManager shouldCopyItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath {
NSLog(@"in shouldCopyItemAtPath...");
return YES;
}
La situation que je suis en train de traiter est de savoir si le fichier existe déjà à la destination. J'obtiens une erreur, mais je n'ai jamais cette "plus d'erreur ..." trace à la sortie. J'obtiens aussi cette trace de shouldCopyItemAtPath: donc je ne suis pas exactement sûr pourquoi la méthode ne tire pas?
Vais-je fou, comment ai-je gâcher la mise en œuvre des délégués ici? Merci pour toute aide!
"Ce n'est pas une erreur si vous faites quelque chose que nous vous avons dit de ne pas faire." doh. Je dois avoir totalement raté cette partie. J'espérais pouvoir implémenter une sorte de fenêtre modale dans la méthode des délégués, mais vous avez raison, j'ai juste besoin de vérifier avant de commencer la copie. Merci pour la réponse! Je voterais mais je n'ai pas de rep :( – Chief