問題タブ [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.

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

objective-c - このブロックが作成時に変数値をキャプチャしないのはなぜですか

GCDを使用したObjective-Cで次の問題が発生しました。理解できません。

次の方法を使用して、648個のタイルの計算を行っています。最初に処理するタイルの順序は、変数「pi」を設定するアルゴリズムによって指定されます。変数「loaded」はこのコンテキストではグローバルであり、0から始まり、正しく647まで上がります。

ブロックを使用しない場合、すべてが完全に機能します。

問題:

ブロックがself.tiles[648]にアクセスしようとするため、例外が発生します。Appleのブロックドキュメントでは、ブロックが作成されたときにブロック内の変数の値がキャプチャされると述べているので、これがどのように可能であるかさえわかりません。実際にロードされた変数の値は648であり、実行せずにループを中止する必要があることを理解しています。他の奇妙な点は、値0もブロックで使用されないことですが、1から始まります。また、ロードされた値に関してブロックがループの前にあることを確認できる場合もあり、値をまったく見逃している場合もあります。 、または2回実行します。ここにいくつかの出力があります:

なぜ、そしてどのようにこれが可能ですか?

Appleのドキュメントには、ブロックが作成されたときに、ブロックに対して変更せずに「ロード済み」の値をキャプチャする必要があることが明確に記載されていると思いますが、ご説明いただきありがとうございます。

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

ios - iOS 開発のバックグラウンドに Web サービス呼び出しをディスパッチする必要がありますか?

私のアプリでは、データを取得するために Web サービスを呼び出す必要があります (http get)。私は新しい ios 開発者です。http get 呼び出しをバックグラウンドにディスパッチし、以下のコードのように tableview リロード データをフォアグラウンドに持ってくるべきでしょうか? ありがとうございます!

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

ios - 目標 c で一度に複数の非同期リクエスト

Web サーバーから同時に複数の画像をダウンロードしていますが、問題はそれらが互いに混同されていることです。

私はこのコードを取得しました: Getting Image from URL Objective C

これを修正するにはどうすればよいですか?? また、ダウンロード速度を速くする方法はありますか?

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

ios - FMDB を使用して SQLite にデータを挿入する際に、dispatch_async で EXC_BAD_ACCESS が発生する

だから、私はインターネットで見つけたすべての投稿を読みましたが、まだこれを機能させることができないようです.

大量のデータを sqlite データベースに挿入しようとしています。20000 行のデータなので、バックグラウンド スレッドで実行する必要があります。

データベース操作を処理するための NSObject .h および .m ファイルがあります。そして、メイン ビュー内からそれらを呼び出します。

これが私のコードです:

メイン ビューでメソッドを呼び出すには、次のように呼び出します。

FMDatabaseQueue で FMDatabase を変更しようとしましたが、うまくいきませんでした。私はこれでかなり必死なので、どんな助けも大歓迎です。

ありがとう。乾杯!

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

ios - UIImageView スクロールが一瞬止まる

uiimage-from-animated-gifを使用して、いくつかの GIF を UITableView セルにロードしようとしています。しかし問題は、キャッシュから画像をロードしようとするたびに、セルがスクロールする前に少し停止することです。

これは私が使用していたコードです

バックグラウンドキューも試しました。しかし、画像の読み込みは本当に遅いです。

何が間違っているのかわかりません。多分私は概念を把握していません。

メイコフは、バックグラウンド キューからユーザー インターフェイス オブジェクト (UIImageView など) のプロパティを変更するべきではなく、バックグラウンド キューで UIImage のインスタンスを作成する必要があることを提案しました。把握?

事前にご協力いただきありがとうございます。

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

ios - アプリのデフォルトのグローバル キューを使用してコア データに画像を保存するとフリーズしますか?

アプリが Facebook から画像を取得するアプリケーションに取り組んでいます。コアデータを使用して画像を保存しています。関数を使用dispatch_asycして画像を Core Data に保存します。私が使う

メインスレッドがブロックされないように画像を保存します。

しかし、アプリがフリーズして応答しないことが時々ありました。アプリのさまざまな場所で画像をコア データに保存するのと同じ方法を使用します。たとえば、ユーザーが署名済みのユーザー プロファイルに移動すると、アプリはアルバムの写真を同じ方法で保存します。また、ユーザーが任意の画像の全画面表示に移動すると、同じ方法でコメント、いいね、保存の取得が開始されます。

プライベート キューを使用し、同じものを保存に使用すると、アプリはフリーズしません。

アプリの多くの場所でグローバル キューを使用しているため、アプリがフリーズするのはこれが原因ですか?

ありがとう。

0 投票する
3 に答える
459 参照

ios - ディスパッチを使用してもiOSの遅延

メインビューにページスクロールビューがある壁紙アプリがあります。scrollview の各ページには 9 つの画像が表示されます。ビューがスクロールされると、次の 10 ページの画像をロードし、ロードした前の 10 ページの uiimages を nil に設定して、メモリ警告を回避します。

問題は、ビューがスクロールするときに、次の scrollview メソッドが呼び出されることです。dispatch_async に新しい画像をロードするブロック コードを配置しても、ビューがスクロールできるようになるまでに数秒の遅延があります。コードのセクション全体をディスパッチでコメントアウトすると、遅延はありません。

なぜこれが起こるのか誰かが何か考えているなら。教えてください。

どうもありがとうございました

ブレインメソッドの画像とは: