【发布时间】: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 中读/写文件的入门读物,将不胜感激!
【问题讨论】:
-
Unicode 是一个字符集。路径是使用这些字符编写的。从某种文本切换到写入该文本的字符是没有意义的。至于您链接到的文件管理器文档,那是核心服务文件管理器,而不是 NSFileManager; NSFileManager 作为 Cocoa 的一部分,记录在 Cocoa 文档中。 developer.apple.com/library/mac/documentation/Cocoa/Reference/…
标签: cocoa deprecated file-manager