J'ai un fichier ouvert sur l'iPhone auquel j'envoie les données sur le réseau (Ouvert en utilisant "_open"). Cependant, j'ai la possibilité de supprimer des fichiers de l'interface de l'iPhone. Ceci est fait en utilisant removeItemAtPath de NSFileManager.removeItemAtPath sur un fichier déjà ouvert
La chose étrange est que removeItemAtPath réussit même si le fichier est actuellement ouvert.
Le fichier est parfaitement transféré sur le réseau et removeItemAtPath réussit avant la fin du transfert. Donc removeItemAtPath fait-il une suppression paresseuse? c'est-à-dire fait-il la queue pour plus tard si le fichier est en cours d'utilisation? Si oui, pas de problèmes.
Si non ... est-ce que quelqu'un sait comment je peux obtenir NSFileManager pour signaler le fait qu'il n'a pas fait la suppression?
Merci!
C'est bien pour une conjecture. J'ai besoin de savoir. Je n'implémente pas shouldRemoveItemAtPath btw. De même, il n'y a rien qui empêche de rester entièrement synchrone. Je ne vois pas comment cela implique un niveau d'asynchronisme ... – Goz
Je pense que c'est un peu plus qu'une supposition. Ceci est le document officiel Apple. Si la valeur de retour était OUI pour une suppression réussie ou NON pour une suppression infructueuse, cela indiquerait que. Tout ce qu'il nous dit, cependant, c'est que la meilleure estimation de la méthode est que la suppression continuera. – bradenb
Eh bien, j'ai vérifié. Le fichier est supprimé juste pas immédiatement. Une fois mon transfert terminé, si j'essaie de transférer à nouveau le fichier, il retourne "n'existe pas" sur l'iPhone. Trié. – Goz