【问题标题】:Cocoa: is it safe to assume that the destination URL for delivering on an NSFilesPromisePboardType is a file URL?Cocoa:假设传递 NSFilesPromisePboardType 的目标 URL 是文件 URL 是否安全?
【发布时间】:2010-02-25 15:29:34
【问题描述】:

假设传递给outlineView:namesOfPromisedFilesDroppedAtDestination:forDraggedItems: 方法(由 NSOutlineViewDataSource 协议指定)的目标 URL 始终是文件 URL 是否安全?

在实现这种方法时,我使用 NSDictionary 的 writeToURL:atomically: 来写出一个“.webloc”属性列表。我想确保没有使用尚未使用的文件名覆盖现有文件。我知道可以使用 NSFileManager 的 fileExistsAtPath: 检查文件 URL,但我不确定如何处理不处理文件 URL 的情况。那么,这种情况是否曾经发生过?

我猜是的,该 URL 将始终是一个文件 URL,因为远程卷等始终是通过本地文件系统中的挂载点提供的;但也许我忽略了一些东西......

如果不是,那么如何选择一个文件名,以便不会覆盖目标 URL 中的现有文件?

(注意:我正在编写一个以 Mac OS X 10.4 作为最低操作系统版本要求的应用程序。)

【问题讨论】:

    标签: objective-c cocoa drag-and-drop finder nsoutlineview


    【解决方案1】:

    假设 dropDestination 始终是一个文件 URL 似乎是合理的,但如果您想确定可以向其发送 isFileURL 消息。

    在它不是文件 URL 的奇怪情况下:在编写您的属性列表之前,请尝试从您将要写入的 URL 下载,如果下载成功,请更改您的目标文件名。

    【讨论】:

      猜你喜欢
      • 2010-10-11
      • 1970-01-01
      • 2016-12-13
      • 2018-02-18
      • 2014-12-20
      • 1970-01-01
      • 2013-08-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多