クロスプラットフォーム コードを大量に含むアプリを Cocoa に移植しています。ロード/保存のためにディスク上のファイルを直接操作する低レベルのファイル処理ルーチンを使用することは必須です。
はNSFileWrapper
メモリ内のファイルの内容を表示するように設計されており、NSData
ディスク上の実際のファイルの詳細を抽象化するため、それを直接使用することはできませんよね?
したがって、以下を使用して低レベルのファイル処理コードを使用できるようにするには
fopen()
fread()
私たちが考えている同様のANSI-Cのもの
NSFileWrapper
のAPI を使用してNSDocument
、NSData
ファイルラッパーから一時に書き戻します。フォルダー
(例: ~/Library/Caches/ )- その温度を引き渡します。ファイル(〜100k .. 1MB)を下位レベルに。
ファイルの書き込みも同様に機能しますが、その逆です。
さて、このアプローチは、 が表すファイルに直接アクセスする最も簡単な方法ですか? NSFileWrapper
ファイル ラッパーの一部の API を見落としていませんか?
特にサンドボックスとiCloudについて考えてみると、何か問題が発生する可能性はありますか?
複数のファイルを含むファイル バンドルをサポートしたいので、ファイル ラッパー ベースの API を使用し、ベース メソッドをNSDocument
使用しないようにしたいと考えています。NSURL
フィードバックや批評家は大歓迎です!