私は、自分のアプリケーションファイルシステムに各ファイルに関するメタデータを保存したいと思っていますが、ユーザ側でのディレクトリ作成もサポートしています。私はNSFileWrapper
を見ましたが、メタデータを含むファイルをディレクトリとして保存するようです。これは理にかなっていますが、今実際のディレクトリとNSFileWrapper
ディレクトリを区別するにはどうすればよいですか?それとも、代わりに各ディレクトリの隠しファイルplist
でメタデータを追跡する必要がありますか?助けをあらかじめありがとう!NSFileWrapperとディレクトリを区別しますか?
3
A
答えて
1
setxattrを使用して、追加のキーと値のペアのメタデータをファイルに保存できます。 Mattt Thompsonは、NSHipsterという優れた記事を書いています。拡張メタデータ属性をサポートするMacのファイルシステム上の
#include <sys/xattr.h>
const char *filePath = [fileURL fileSystemRepresentation];
const char *name = "com.Example.Etag";
const char *value = [[response allHeaderFields][@"Etag"] UTF8String];
int result = setxattr(filePath, name, value, strlen(value), 0, 0);
setxattr
作品:ここ
は、属性値を設定する方法を示し、記事の例です。 OS XおよびiOSでは、これはHFS +でサポートされています。この場合、メタデータはリソースフォークに格納され、最大サイズは128KBに制限されています。
listxattrを使用して、利用可能なタグを取得できます。特定のタグの値を取得するには、getxattrを使用してください。
これを使用するアプリケーションの1つの例は、現在のキャレット位置、ブックマーク、および折り返しなどの状態情報を格納するTextMateです。
メタデータは揮発性であり、重要な情報を保持するために信頼されるべきではないことに注意することが重要です。
- メタデータは、拡張メタデータ(例えば、FAT32)をサポートしないファイルシステム上に格納されているような様々な理由から、ストリッピング/変更/移動、又は圧縮、ネットワーク、または他によって誤ってまたは意図的に変更されることでもよいですファイル処理ソフトウェア。
- メタデータは共有名前空間であり、他のアプリケーションとの相互運用性には優れていますが、干渉の影響を受け易いため、名前の競合を避けるために、キー名の前に固有の識別子(ドメイン名)を付ける必要があります。
その他の参照:
関連する問題
- 1. ファイルとディレクトリを区別して区別できますか?
- 2. .vimrcをファイルタイプまたは作業ディレクトリと区別しますか?
- 3. JavaはどのようにJavaとリソースのディレクトリを区別しますか?
- 4. Bash:ワイルドカードを使用してファイルとディレクトリを区別する
- 5. ImageButtonとImageViewを区別しますか?
- 6. XPInstantFeedbackSourceとXPServerCollectionSourceを区別しますか?
- 7. CとC++のunixディレクトリとファイルを区別する
- 8. .htaccessの大文字と小文字を区別しないディレクトリ
- 9. クリックとマウスとの区別を区別する
- 10. pythonを使用して列とディレクトリを区切ります
- 11. Countサブクエリとは区別されますか? 1つの列から区別する別の方法ですか?
- 12. HTMLは大文字と小文字を区別しますか?
- 13. 長押しとボタンのタップを区別できますか?
- 14. は、マルチモジュールとSpringマイクロサービスを区別しますか?
- 15. AutoMapperは大文字と小文字を区別しますか?
- 16. フォーカス損失の内側と外側を区別しますか?
- 17. Axiosはローカルとプロットを区別しますか?
- 18. HTML.Partialは大文字と小文字を区別しますか?
- 19. 透明度と余分なアルファチャンネルを区別しますか?
- 20. JavaスレッドとOSスレッドを区別しますか?
- 21. メタキーワードは大文字と小文字を区別しますか?
- 22. 黒と白のiPhoneを区別しますか?
- 23. は:大文字と小文字を区別しますか?
- 24. mysqlは大文字と小文字を区別しますか?
- 25. FileSystemWatcherの変更イベントと作成イベントを区別しますか?
- 26. PCM形式とBWFファイル形式を区別しますか?
- 27. 文字列とバイト配列を区別しますか?
- 28. NSWindow closeとMultiple-Tab-NSWindow closeを区別しますか?
- 29. PostgreSQL 9.6でDjangoで大文字と小文字を区別する方法を区別しませんか?
- 30. ディレクトリ区切り定数を使用していますか?
setxattr'は、このために働くかもしれ 'のように見えます。 http://nshipster.com/extended-file-attributes/ –
@LukeVanInそれは絶対に素晴らしいです。あなたはそれをある種の答えに定式化し、使用されるケースを挙げることができますか? TextMateのように? –