【问题标题】:Need assistance regarding create directory methods on NSFileManager需要有关在 NSFileManager 上创建目录方法的帮助
【发布时间】:2014-06-16 15:23:17
【问题描述】:

NSFileManager有两种创建目录的方法,一种是要求path,另一种是要求urlurl 是干什么用的?网址用于网络,但我在文档中看不到任何网络内容。

createDirectoryAtPath:withIntermediateDirectories:attributes:error:
createDirectoryAtURL:withIntermediateDirectories:attributes:error:

【问题讨论】:

标签: ios objective-c nsfilemanager


【解决方案1】:

网址有两种形式,网络和file。见:

NSURL *filePathURL = [NSURL fileURLWithPath:...];

当您将其归结时,URL 只是对路径的有组织的定义。

【讨论】:

  • 如果使用路径来引用文件或目录,url的目的是什么?
  • URL 是一个替代,你可以使用任何一个
【解决方案2】:

答案包含在同一个link

NSFileManager 类同时支持 NSURL 和 NSString 类 作为指定文件或目录位置的方法。 使用 NSURL 类通常是指定文件系统项的首选 因为它们可以将路径信息转换为更有效的 内部表示。 您还可以从 NSURL 对象,类似于别名,提供更可靠的方式 稍后定位文件或目录。

【讨论】:

    【解决方案3】:

    补充 Visput 和 Wain 的答案。

    在您的代码中,您可能会从另一个方法返回一个 NSURL 形式的文件或目录路径

    一个例子是NSOpenPanel的返回选择。

    在 URL 中访问构成路径的部分也比在字符串路径中更容易

    NSFileManager 为您提供了方便的方法来使用您已经从其他地方获得的 NSURL。

    阅读NSURL

    概述

    一个 NSURL 对象代表一个可能包含 远程服务器上资源的位置,本地文件的路径 磁盘,甚至是任意一段编码数据。

    您可以使用 URL 对象来构造 URL 并访问它们的部分。为了 代表本地文件的 URL,您还可以操作 直接修改这些文件,例如更改文件的最后修改 日期。最后,您可以将 URL 对象传递给其他 API 以检索 这些 URL 的内容。例如,您可以使用 NSURLSession, NSURLConnection 和 NSURLDownload 类访问内容 远程资源,如 URL 加载系统编程中所述 指南。

    URL 对象是引用本地文件的首选方式。大多数 AppKit 从文件读取数据或向文件写入数据的对象具有以下方法 接受 NSURL 对象而不是路径名作为文件引用。 例如,您可以将本地文件 URL 的内容作为 NSString 对象通过调用 stringWithContentsOfURL:encoding:error: 方法,或者作为 NSData 对象通过调用 dataWithContentsOfURL:options:error: 方法。

    您还可以使用 URL 进行应用程序间通信。在 OS X 中, NSWorkspace 类提供 openURL: 方法来打开一个位置 由 URL 指定。同样,在 iOS 中,UIApplication 类 提供 openURL: 方法。

    此外,您可以在使用粘贴板时使用 URL,例如 在 NSURL Additions Reference(AppKit 框架的一部分)中描述。

    【讨论】:

      猜你喜欢
      • 2021-08-15
      • 2011-03-13
      • 1970-01-01
      • 2010-11-08
      • 1970-01-01
      • 1970-01-01
      • 2021-07-18
      • 2015-10-13
      • 2020-03-06
      相关资源
      最近更新 更多