問題タブ [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.
ios - NSMutableAttributedString を rtf ファイルに書き込んで開くことができませんでしたか?
私の試したコードを以下に示します:-
書き込み用コードattributedString
私の文字列値は以下のとおりです:--
タイプBOOLの成功変数もyes、ファイルが正常に書き込まれたことを示します。しかし、自分のフォルダーの場所にある rtf ファイルを開こうとすると、以下のようなエラー メッセージが表示されます。
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
そのディレクトリをパッケージにすることができるようです。その道を行くべきでしょうか?
macos - NSFileWrapper を使用してドキュメントを保存する
ユーザーが画像や動画を挿入して構成を作成できるドキュメントベースのアプリケーションを開発しています。
ドキュメントを保存するときに、プロジェクトの xml 表現を配置する directoryFileWrapper を作成し、元のパス (ドキュメントがまだ保存されていない場合) またはパッケージ内の相対パスを使用して、画像/動画ごとに 1 つの fileWrapper を作成します。
保存すると、ユーザーはドキュメントを別の場所/Mac に移動しても、コンテンツにアクセスできます。
ユーザーが「SaveAsOperation」を実行して同じ場所に保存すると、ドキュメントは最初に削除され、次に再作成する必要があります。問題は、ドキュメント自体が既に削除されているため、相対パスを使用して fileWrappers を再作成できないことです。
それを防ぐ方法はありますか?既存のファイルをパッケージに保存する正しい方法は何ですか?
ios - [NSFileWrapper initDirectoryWithFileWrappers] を Swift に変換する
次のObjective-Cコードがあります:
上記のコードを Swift に変換しようとしました:
最後の行はコンパイルできません。というエラーメッセージが表示されました
'NSMutableDictionary' の値の型を予期される引数の型 '[String : NSFileWrapper]' に変換できません
[String : NSFileWrapper]
リストのタイプが何であるかわかりませんか?ラッパーをこのタイプに変換する方法はありますか?
ios - NSFileWrapper と同時実行性を処理するには?
とを使用NSFileWrapper
しUIDocument
ます。ファイルの書き込みは次の場所で行われます。
ラッパーは、saveMyData() で変更されます。
発生しているように見えるのはcontentsForType
、別のスレッドで実行され、まれにラッパーがsaveMyDataで変更されているときに実行され、「列挙中にコレクションが変更されました」というエラーが発生することです。
Objective-C に関する他のスレッドを読んだことがあります@synchronized
が、Swift の同等物はまだ私を混乱させます。エラーを回避する最善の方法は何ですか? また、エラーをテストする最良の方法は何ですか? ユーザーが同時にデータを変更している間に保存が実行されるという奇妙な機会に、おそらく.001の確率で発生します。
私が読んだ考えられる解決策の1つは、defer
コマンドを使用することです。次のように saveMyData() に含めobjc_sync_enter
て動作しますか?objc_sync_exit
どのスレッドが他のスレッドをどのように待機するのかが不明です。
ありがとうございました!
swift - NSFileWrapper とディレクトリを区別しますか?
アプリのファイルシステムに各ファイルに関するメタデータを保持させたいだけでなく、ユーザー側でのディレクトリ作成もサポートしたいと考えています。私は見ましNSFileWrapper
たが、メタデータを含むファイルをディレクトリとして保存しているようです。これは理にかなっていますが、実際のディレクトリとNSFileWrapper
ディレクトリをどのように区別すればよいでしょうか? plist
または、代わりに、各ディレクトリに隠しファイルを使用してメタデータを追跡する必要がありますか? 助けてくれてありがとう!