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

[fileManager createDirectoryAtPath:DATABASE_DIRECTORY attributes:nil];


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

尽管它运行良好(我正在运行OSX 10.6.8),但每次编译时都提醒我:

"createDirectoryAtPath:attributes:" is deprecated


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

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

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

如果不是,Apple是否尝试取消路径名,而是完全切换为Unicode? (如果我对这个问题和术语有些困惑,请原谅我。自80年代末以来我还没有写过代码。)过去我从未真正使用过Unicode,所以我不知道在哪里开始。

如果任何人都可以推荐一个有关Unicode和/或编程代码的最新入门知识来读/写Cocoa中的文件,将不胜感激!

最佳答案

苹果公司正在做的事情正在朝着URL的方向发展-我不知道它们是否会一路走下去,但他们似乎确实贬低了许多路径方法,而倾向于使用URL方法。 createDirectoryAtPath:attributes:的替代品是createDirectoryAtURL:withIntermediateDirectories:attributes:error:

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

关于cocoa - 创建目录-用什么代替createDirectoryAtPath?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10466110/

10-09 10:17