【问题标题】:Creating a directory - what replaces createDirectoryAtPath?创建目录 - 什么替代 createDirectoryAtPath?
【发布时间】:2012-05-06 13:05:57
【问题描述】:

我的程序中有以下代码行,取自 Stephen G. Kochan 的第四版“Objective-C 编程”一书:

[fileManager createDirectoryAtPath:DATABASE_DIRECTORY attributes:nil];

注意:“fileManager”是我的 fm 变量,DATABASE_DIRECTORY 是我的路径的#define。

虽然它工作得非常好(我运行的是 OSX 10.6.8),但每次编译时都会提醒我:

"createDirectoryAtPath:attributes:" is deprecated

我查看了文件管理器的参考文档,对于 Cocoa 编程的新手来说有点不知所措。无论如何,我能找到的唯一文件管理器参考文档中不再列出该特定方法(https://developer.apple.com/library/mac/#documentation/Carbon/Reference/File_Manager/Reference/reference.html)甚至没有被列为“弃用”。它根本不存在。

显然,它仍然有效,但显然这个想法是利用一种不同且更现代的方式来创建目录(我注意到文件管理器引用是 Carbon vs. Cocoa 引用。我还没有尝试在 Lion 上运行它看看它是否仍然有效。)

是否可以直接替代这种已弃用的方法?

如果不是,Apple 是否试图取消路径名并完全改用 Unicode? (如果我对这个问题和术语有点困惑,请原谅我......自 80 年代后期以来我没有编写过代码......)我过去从未真正将 Unicode 用于任何事情,所以我不知道在哪里开始。

如果有人能推荐一本好的当前关于 Unicode 和/或编程代码以在 Cocoa 中读/写文件的入门读物,将不胜感激!

【问题讨论】:

标签: cocoa deprecated file-manager


【解决方案1】:

Apple 正在做的是从路径转向 URL ——我不知道它们是否会一路走下去,但他们似乎确实贬低了很多路径方法,转而支持 URL 方法。 createDirectoryAtPath:attributes: 的替代品是 createDirectoryAtURL:withIntermediateDirectories:attributes:error:

我不确定为什么您在文档中找不到它,如果您搜索 createDirectoryAtPath:attributes: 它会将您带到折旧的方法,并在该参考中将您指向替换。

【讨论】:

  • 我会做一些研究,然后将其转换为 URL。谢谢!
猜你喜欢
  • 2021-12-15
  • 2011-11-30
  • 2020-05-08
  • 1970-01-01
  • 1970-01-01
  • 2016-06-14
  • 1970-01-01
  • 2014-11-19
  • 2019-11-03
相关资源
最近更新 更多