Cacao: è lecito ritenere che l'URL di destinazione per la distribuzione su un NSFilesPromisePboardType è un URL di file?
-
22-09-2019 - |
Domanda
È sicuro supporre che l'URL di destinazione passato a un outlineView: namesOfPromisedFilesDroppedAtDestination: forDraggedItems: metodo (come specificato dal protocollo NSOutlineViewDataSource) è sempre un URL di file ?
Per l'attuazione di tale metodo che sto facendo uso di writeToURL di NSDictionary: atomicamente: scrivere un elenco delle proprietà ".webloc". Mi piacerebbe per garantire che nessun file esistente viene sovrascritto utilizzando un nome di file che non è già utilizzato. So che questo può essere controllato per gli URL di file con fileExistsAtPath di NSFileManager: ma non sono sicuro di come gestire il caso in cui non si ha a che fare con un URL di file. Poi di nuovo, non quella situazione mai venuto in mente?
Sto indovinando che YES , l'URL sarà sempre un URL di file, dal momento che i volumi remoti, ecc sono sempre forniti attraverso un punto di montaggio del file system locale; ma forse sto affaccia qualcosa ...
E se no, come poi scegliere un nome file in modo che nessun file esistente presso l'URL di destinazione viene sovrascritto?
(Nota:. Sto scrivendo un programma che ha come obbiettivo di Mac OS X 10.4 come il requisito minimo versione del sistema operativo)
Soluzione
Supponendo che il dropDestination sarà sempre un URL di file sembra ragionevole, ma se si vuole essere certi è possibile inviare un isFileURL messaggio.
Nel strano caso in cui non è un URL di file:. Prima di scrivere il vostro elenco delle proprietà, provare a scaricare dall'URL che si sta per scrivere e cambiare il nome del file di destinazione se il download riesce