問題タブ [dispatch-async]
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 - Dispatch Queue とグローバル NSMutableDictionary - Objective C
ディスパッチ キューからグローバル NSMutableDictionary を使用しようとしています。ただし、アイテムは NULL に戻り続けます。
私がやろうとしているのは、dispatch_queue を使用して外部の json ファイルにアクセスし、この情報を UITableView に入力することです。
これが私が持っているものです
vc.h:
vc.m:
キュー内の jsonArray にアクセスすると、正常に返され、都市のログが出力されます。ただし、キューの外で使用しようとすると、NULL が返されます。
何が起こっているのかを理解しようとしていますが、何かアイデアはありますか?
同じビューのさまざまなメソッドで jsonArray を使用する必要があるため、グローバルにする必要があります。
ios - 同期ブロックとdispatch_async
ブロック内で dispatch_async() を呼び出すと、@synchronized() を使用して IOS のロックはどうなりますか。
例:
dispatch_async 呼び出し内でロックはまだ有効ですか? または、さらに重要なことに、dispatch_async() 内で別の @synchronized() 呼び出しを使用することに欠点はありますか?
ios - シリアル ディスパッチ キューはどのようにリソース保護を保証しますか?
それぞれが銀行口座の残高にアクセスして変更する 100 のタスクを送信すると、シリアル キューが各タスクを順番に実行することは理解できますが、dispatch_async を使用すると、これらのタスクも順番に終了しますか?
シリアル キューに非同期で送信したタスク #23 が完了するまでに非常に長い時間がかかる場合はどうすればよいですか? タスク #24 は、タスク #23 が完了したときにのみ開始されますか?それとも、タスク #23 が完了する前にタスク #24 が開始されますか? もしそうなら、タスク #24 がジョブを開始するときに銀行口座の残高が間違っていて、データの整合性が損なわれるのではないでしょうか?
ありがとう!!
objective-c - (OS_dispatch_data *) 5018112 バイトを NSData に変換して UIImage に入れる方法
私はこれに対する答えを探していましたが、私が必要としているもののように見えるものもありますが、よくわかりません. この質問 #9152851 とこの質問 #2617625 を見つけて、たくさんのリンクを調べましたが、ここで何らかの方向性が必要です。
基本的に、OpenCV を使用して画像を処理するために非同期呼び出しをディスパッチしています。ここのコードを見ると、デリゲートに送り返す前に NSData * に変換していることがわかります。
しかし、デリゲートに戻ると、processedBitmap のタイプは (OS_dispatch_data *) で、バイトの値が含まれています。そのため、UIImage を設定しようとすると、null に設定されます。
値のスクリーン キャプチャを次に示します。
では、これらのバイト (またはそれらが何であれ) を UIImage に詰め込むことができるものに変換するにはどうすればよいでしょうか?
よろしくお願いいたします。
-------------------------------------------------- -----新しい画像を追加する------------------------------------------
この新しい画像は役に立ちますか?
ありがとうございました。
ios - setNeedsDisplay はメイン キューに送信されますが、呼び出されません
以下のメソッドは、録音オーディオ キュー コールバックで、具体的には、非メイン スレッドで呼び出されます。
myGraphView はカスタム UIView オブジェクトです。私が知っていることsetNeedsDisplayInRect:
は、メインスレッドで呼び出す必要があるためdispatch_async...
です。問題は、ブロック内の が何度も呼び出された- (void)drawRect:(CGRect)rect
にもかかわらず、myGraph に実装したメソッドが呼び出されないことです。NSLog
ios - ALAssetLibrary performBlockAndWait (GUI ハングの問題)
特定のイベントでカメラ ロールのインデックスを作成し、ジョブを作成し、それらのジョブを CoreData に書き込むイメージ アップローダーを作成しています。別のスレッドが CoreData から読み取り、画像をアップロードします。
UI がフリーズし続けます。GUI がフリーズしても、バックグラウンド キューが引き続き機能していることがわかります。ブレークする (一時停止ボタンを押す) と、メインスレッドは通常このようになっていることがわかります
通常のフォーラムを精査しましたが、キューと ALAssetsLibrary に関する多くの情報が見つからないようです。
私のコードについてもう少し話しましょう。画像は (_processingQueue を使用して) インデックス付けされ、コア データに書き込まれるため、(メイン キューを使用して) ビュー コントローラーにデータを渡すブロックがいくつかあります (# インデックス付け、# スキップなど)。メインキューにキャストされますが、問題はありません。
画像は CoreData から取り出されてアップロードされるため、アップロードの進行状況バーなどを移動する同様のメソッドがあります。再びメイン キューにキャストされます。
ここで何が問題になると思いますか?ALAssetsLibrary にアクセスする私のメソッドは、@synchonized(self) ブロックに続きます。これはすべて1つのクラスにあります。
複数のキューからライブラリにアクセスするのは間違っていますか?
ios - dispatch_async は常に機能しません
私は次のコードを持っています...
このメソッドdisplay:
は、メッセージをUITextView
.
ボタンが押されたときにこの関数を呼び出します。時々、dispatch_async ブロックが呼び出されていません。それはただそれを通り抜けます。ただし、毎回出力されるログ メッセージを確認できます。
誰でもこれを引き起こす可能性のあるものを共有できますか?
ios - データの読み込みを停止する方法
私はUIImageViewを持っています。この imageView の画像は Web から読み込まれます。ロードを停止する方法を誰か教えてください。
これは私のコードです: