Cacao: est-il raisonnable de supposer que l'URL de destination pour la livraison sur une NSFilesPromisePboardType est une URL de fichier?

StackOverflow https://stackoverflow.com/questions/2335190

Question

Est-il raisonnable de supposer que l'URL de destination est passé à un outlineView: namesOfPromisedFilesDroppedAtDestination: forDraggedItems: méthode (tel que spécifié par le protocole NSOutlineViewDataSource) est toujours une URL de fichier ?

Dans la mise en œuvre d'une telle méthode que je fais usage de writeToURL de NSDictionary: atomiquement: écrire une liste de propriétés « .webloc ». Je voudrais assurer qu'aucun fichier existant est écrasé en utilisant un nom de fichier qui est pas déjà utilisé. Je sais que cela peut être vérifié pour les URL de fichiers avec le fileExistsAtPath de NSFileManager: mais je ne suis pas sûr de savoir comment gérer le cas où on ne traite pas avec une URL de fichier. Là encore, la situation ne se produit jamais que?

Je suppose que YES , l'URL sera toujours une URL de fichier, car les volumes à distance, etc. sont toujours fournis par un point de montage dans le système de fichiers local; mais peut-être que je suis sur quelque chose ...

Et si non, comment alors choisir un nom de fichier afin qu'aucun fichier existant à l'URL de destination est écrasé?

(Note:. J'écris une application qui cible Mac OS X 10.4 que l'exigence de la version minimale du système d'exploitation)

Était-ce utile?

La solution

En supposant que le dropDestination sera toujours une URL de fichier semble raisonnable, mais si vous voulez être certain que vous pouvez l'envoyer un isFileURL message.

Dans le cas étrange où ce n'est pas une URL de fichier. Avant d'écrire votre liste de propriété, essayez de télécharger à partir de l'URL que vous êtes sur le point d'écrire et de changer votre nom de fichier de destination si le téléchargement réussit

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top