Je me demandais, y a-t-il une meilleure pratique pour écrire un programme OSX qui copie ou déplace un fichier d'un endroit à un autre?
Question bonus: Comment puis-je obtenir des pourcentages à la "copie 12% complète" avec l'une de ces méthodes?
Merci pour ton aide!
Nsfilemanager et Nsworkspace ont à la fois des méthodes pour déplacer, copier et supprimer des fichiers. Habituellement, vous utiliseriez NsfileManager depuis sa fonctionnalité avec:
if ( [[NSFileManager defaultManager] isReadableFileAtPath:source] )
[[NSFileManager defaultManager] copyItemAtURL:source toURL:destination error:nil];
Cependant, Nsworkspace peut facilement déplacer des fichiers vers la corbeille, que NsfileManager ne peut pas faire.
[[NSWorkspace sharedWorkspace] performFileOperation:NSWorkspaceRecycleOperation source:foldername destination:@"" files:filenamesArray tag:&tag];
Vérifiez la documentation pour une description plus complète des deux classes. (- nsfilemanager , Nsworkspace )
[[NSFileManager defaultManager] copyItemAtPath:srcPath toPath:dstPath error:&error]
Voici le lien vers la référence de la classe:
Vous pouvez également utiliser FSCyObjectAsync . Vous pouvez afficher la progression de la copie de fichier et vous pouvez également annuler la copie de fichier à l'aide de FSCyObjectAsync ().
Jetez un coup d'œil à cela POST .
fscyObjecttasync est obsolète dans OS X V10.8
copyfile (3) est alternative pour FSCyObjecttasync. ICI est exemple de copyfile (3) avec le rappel de progression.