2012-05-05 7 views
1

私はステファン・G・コッカンの本「のObjective-Cでのプログラミング:ディレクトリの作成 - createDirectoryAtPathを置き換えるものは?

[fileManager createDirectoryAtPath:DATABASE_DIRECTORY attributes:nil]; 

注: 『のフォース版から取った私のプログラムでは、次のコード行持つファイルマネージャは、』私のFM変数であるとし、 。私は以上見てきた

"createDirectoryAtPath:attributes:" is deprecated 

:DATABASE_DIRECTORYは私の道のの#defineです

それは完全に正常に動作しますが(私はOSX 10.6.8を実行している)、私はコンパイルするたびに私がいることを思い出していますファイルマネージャの参照ドキュメント、ココアプログラミングの初心者にとっては圧倒的なものです。それにもかかわらず、その特定のメソッドは、私が見つけることができる唯一のファイルマネージャリファレンスドキュメント(https://developer.apple.com/library/mac/#documentation/Carbon/Reference/File_Manager/Reference/reference.html)にはもはやリストされていません「推奨されない」としても列挙されていません。それだけでは全くありません。

明らかに、それはまだ動作しますが、明らかに、ディレクトリを作成する別のより現代的な方法を利用することです(ファイルマネージャリファレンスがCarbon vs. Cocoaリファレンスであることに気付きました。まだ動作しているかどうかはまだわかりません)

この廃止予定のメソッドを直接置き換えることはできますか?

もしそうでなければ、Appleはパス名を削除しようとしていますが、代わりに完全にUnicodeに切り替えるでしょうか? (80年代後半からコードを書いたことはありません...)過去に何もUnicodeを使ったことはありませんでした。始める。

現在、のユニコードでのプライマー、および/またはプログラミングコードを使用してCocoaでファイルを読み書きすることをお勧めします。

+0

[createDirectoryAtPath:attributes:alternative](http://stackoverflow.com/questions/3880786/createdirectoryatpathattributes-alternative)の複製可能性 – Mark

+2

ユニコードは文字セットです。パスはそれらの文字を使用して書き込まれます。特定の種類のテキストからそのテキストが書き込まれる文字に切り替えるのは意味がありません。リンク先のファイルマネージャのドキュメントは、NSFileManagerではなくコアサービスファイルマネージャです。 NSFileManagerは、Cocoaの一部として、Cocoaのドキュメントに記載されています。 http://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSFileManager_Class/ –

答えて

4

何Appleが離れたURLに向けてのパスから移動してやっている - 彼らはすべての道を行く場合、私は知らないが、彼らはURLのものを支持してパス法のかなりの数の減価償却しているように見えるん。 createDirectoryAtPath:attributes:は次のようになります。createDirectoryAtURL:withIntermediateDirectories:attributes:error:

createDirectoryAtPathを検索した理由はわかりません:属性:償却されたメソッドを参照してください。

+0

これをURLに変換するための調査をいくつか行います。ありがとう! –

関連する問題