問題タブ [nsfilehandle]
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.
objective-c - NSFileHandle writeData ブロックのリスク
私のアプリケーションは、TCP 接続のグループに定期的にデータの短いパケットを書き込む必要があり、それぞれが NSFileHandle によってカプセル化されています。NSFileHandle は非同期読み取りを提供しますが、書き込みには writeData を使用する必要があると思います (私の Objective-C 実装である GNUStep には、残念ながら writeabilityHandler プロパティがありません)。
私の質問は次のとおりです。TCP ファイル記述子が書き込みの準備ができていない場合、 writeData は例外をスローしますか、それとも無期限にブロックしますか? これをテストしようとしましたが、接続の反対側を適切な状態にするのは困難です。私にとって理想的なのは、 writeData が例外をスローすることで、後でもう一度書き直すことができます。
ios - キャッチされない例外 'NSFileHandleOperationException'
このコードを使用しながら、自分のサーバーから複数のファイルを同時にダウンロードしようとしています:
pic1.png 、 pic2.png 、 pic3.png の 3 つの写真があります。このコードを実行すると、アプリは pic3.png という名前の破損したファイルを 1 つだけ保存し、自動的にクラッシュします。3 つのファイルすべてをダウンロードする必要があります。
ios - ローカル ファイルの 12 バイト データを置き換えるにはどうすればよいですか?
私のアプリは、最初の 12 バイト データが暗号化されたファイルをダウンロードするため、ドキュメントからこのファイルを読み取り、最初の 12 バイト データを復号化する必要があります。
私の最初の試みは、ファイル全体を読み取って復号化し、再度ファイルに書き込むことでした。ただし、ファイルが大きすぎると、大量のメモリが消費されます。
では、最初の 12 バイトのデータを読み取って置き換える方法はありますか?
objective-c - echo が NSTask および readInBackgroundAndNotify で機能しない
次の Obj-C コードとそのログ出力があります。NSFileHandle から出力が得られない理由を誰か教えてもらえますか?
ログ:
同期的に行うか、https://stackoverflow.com/a/16274541/1015200のアプローチを使用すると、動作させることができます。その他の手法やバリエーション (performSelectorInBackground なしでタスクを起動するなど) は失敗しました。通知を使用して動作させることができるかどうかを本当に知りたいです。それで何か助けが得られれば、それは素晴らしいことです。
objective-c - ファイルに色付きのテキストを書き込むことはできますか?
いくつかのログを .txt ファイルに書き込む必要があります。より明確にするために、一部のテキストに色を付けたいと思います。
どうすればこのトリックを行うことができますか?
ここで私の機能
これは私が私の機能を使用する方法です:
UIColor でラベルを宣言し、そのテキストを関数に渡そうとしましたが、成功しませんでした。
ios - iOSでデータをチャンクでディスクに書き込む方法
こんにちは私のアプリでは、pdf ファイルをダウンロードしていますが、その合計サイズがチャンクになっています。そのデータをチャンクで取得した後、NSData オブジェクトに格納し、残りのチャンクを同じオブジェクトに追加します。このアプリを実行している間、メモリ不足の警告でクラッシュします。次にディスクにデータを書き込み、サンドボックスに書き込まれたファイルにデータを追加する方法はありますか。ファイルが 400 Mb を超える場合があります。助けてください。