問題タブ [nsfilewrapper]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
611 参照

ios - NSMutableAttributedString を rtf ファイルに書き込んで開くことができませんでしたか?

私の試したコードを以下に示します:-

書き込み用コードattributedString

私の文字列値は以下のとおりです:--

タイプBOOLの成功変数もyes、ファイルが正常に書き込まれたことを示します。しかし、自分のフォルダーの場所にある rtf ファイルを開こうとすると、以下のようなエラー メッセージが表示されます。

ここに画像の説明を入力

0 投票する
1 に答える
311 参照

ios - ファイルの書き込み時に NSFileWrapper が大量のメモリを使用しないようにするにはどうすればよいですか

NSFileWrapperユーザーのデータのバックアップを作成するために使用しているアプリがあります。このバックアップ ファイルには、テキスト ファイルとメディア ファイルが含まれます (ここでは圧縮は関係ありません)。場合によっては、これらのバックアップ ファイルが非常に大きくなり、サイズが 200 MB を超えることがあります。呼び出すNSFileWrapper -writeToURL...と、書き込みプロセスの一部としてコンテンツ全体がメモリに読み込まれるように見えます。古いデバイスでは、メモリの制約により、アプリがシステムによって終了されます。

NSFileWrapperすべてをメモリにロードすることを避ける簡単な方法はありますか? NSFileWrapperここで見つけたすべての質問を読みました。これに取り組む方法について何か提案はありますか?

バックアップ ファイルの現在のファイル構造は次のとおりです。

BackupContents.backupxyz user.txt - folder1 - audio files asdf.caf asdf2.caf - folder2 - audio files asdf3.caf

繰り返しますが、音声ファイルを圧縮するように言わないでください。それは、欠陥のある設計に対する応急処置にすぎません。

を使用してすべてのファイルをディレクトリに移動/コピーし、NSFileManagerそのディレクトリをパッケージにすることができるようです。その道を行くべきでしょうか?

0 投票する
1 に答える
901 参照

macos - NSFileWrapper を使用してドキュメントを保存する

ユーザーが画像や動画を挿入して構成を作成できるドキュメントベースのアプリケーションを開発しています。

ドキュメントを保存するときに、プロジェクトの xml 表現を配置する directoryFileWrapper を作成し、元のパス (ドキュメントがまだ保存されていない場合) またはパッケージ内の相対パスを使用して、画像/動画ごとに 1 つの fileWrapper を作成します。

保存すると、ユーザーはドキュメントを別の場所/Mac に移動しても、コンテンツにアクセスできます。

ユーザーが「SaveAsOperation」を実行して同じ場所に保存すると、ドキュメントは最初に削除され、次に再作成する必要があります。問題は、ドキュメント自体が既に削除されているため、相対パスを使用して fileWrappers を再作成できないことです。

それを防ぐ方法はありますか?既存のファイルをパッケージに保存する正しい方法は何ですか?

0 投票する
1 に答える
615 参照

ios - [NSFileWrapper initDirectoryWithFileWrappers] を Swift に変換する

次のObjective-Cコードがあります:

上記のコードを Swift に変換しようとしました:

最後の行はコンパイルできません。というエラーメッセージが表示されました

'NSMutableDictionary' の値の型を予期される引数の型 '[String : NSFileWrapper]' に変換できません

[String : NSFileWrapper]リストのタイプが何であるかわかりませんか?ラッパーをこのタイプに変換する方法はありますか?

0 投票する
0 に答える
115 参照

ios - NSFileWrapper と同時実行性を処理するには?

とを使用NSFileWrapperUIDocumentます。ファイルの書き込みは次の場所で行われます。

ラッパーは、saveMyData() で変更されます。

発生しているように見えるのはcontentsForType、別のスレッドで実行され、まれにラッパーがsaveMyDataで変更されているときに実行され、「列挙中にコレクションが変更されました」というエラーが発生することです。

Objective-C に関する他のスレッドを読んだことがあります@synchronizedが、Swift の同等物はまだ私を混乱させます。エラーを回避する最善の方法は何ですか? また、エラーをテストする最良の方法は何ですか? ユーザーが同時にデータを変更している間に保存が実行されるという奇妙な機会に、おそらく.001の確率で発生します。

私が読んだ考えられる解決策の1つは、deferコマンドを使用することです。次のように saveMyData() に含めobjc_sync_enterて動作しますか?objc_sync_exit

どのスレッドが他のスレッドをどのように待機するのかが不明です。

ありがとうございました!

0 投票する
1 に答える
254 参照

swift - NSFileWrapper とディレクトリを区別しますか?

アプリのファイルシステムに各ファイルに関するメタデータを保持させたいだけでなく、ユーザー側でのディレクトリ作成もサポートしたいと考えています。私は見ましNSFileWrapperたが、メタデータを含むファイルをディレクトリとして保存しているようです。これは理にかなっていますが、実際のディレクトリとNSFileWrapperディレクトリをどのように区別すればよいでしょうか? plistまたは、代わりに、各ディレクトリに隠しファイルを使用してメタデータを追跡する必要がありますか? 助けてくれてありがとう!