Какао: безопасно ли предположить, что целевой URL для доставки по NSFilesPromisePboardType является файловым URL? - PullRequest
1 голос
/ 25 февраля 2010

Безопасно ли предполагать, что целевой URL, передаваемый в outlineView: namesOfPromisedFilesDroppedAtDestination: forDraggedItems: (как указано в протоколе NSOutlineViewDataSource), всегда является URL-адресом файла?

В реализации такого метода я использую writeToURL: atomically: NSDictionary для записи списка свойств ".webloc". Я хотел бы убедиться, что ни один из существующих файлов не будет перезаписан с использованием имени файла, которое еще не используется. Я знаю, что это может быть проверено для файловых URL с помощью fileExistsAtPath NSFileManager: но я не уверен, как справиться со случаем, когда один не имеет дело с файловым URL. Опять же, такая ситуация когда-либо возникает?

Я предполагаю, что ДА , URL всегда будет URL-адресом файла, поскольку удаленные тома и т. Д. Всегда предоставляются через точку монтирования в локальной файловой системе; но, возможно, я что-то упускаю ...

А если нет, то как выбрать имя файла, чтобы не перезаписывать ни один из существующих файлов по целевому URL?

(Примечание. Я пишу приложение для Mac OS X 10.4 в качестве требования к минимальной версии ОС.)

1 Ответ

1 голос
/ 25 февраля 2010

Предполагается, что dropDestination всегда будет URL-адресом файла, но это разумно, но если вы хотите быть уверены, вы можете отправить ему сообщение isFileURL .

В странном случае, когда это не URL-адрес файла: прежде чем писать список свойств, попробуйте выполнить загрузку с URL-адреса, по которому вы собираетесь писать, и измените имя файла назначения, если загрузка прошла успешно.

...