問題タブ [nsurlsessiondatatask]
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 - データの更新と UI の更新のジレンマ
私は最近、多くのバックグラウンド HTTP タスクを処理し、UI だけでなく、応答データに従って現在のセッションの静的データ (多くの配列、変数など) を更新する Swift を使用して iOS アプリケーションを開発しました。私は iOS 開発の新人としてカウントされる可能性があり、混乱する点がいくつかあります。
バックグラウンド タスクからの UI の更新は、GCD API を介して処理されます。私は常にこれらの更新を次の方法で処理してきました。
シナリオを示して、私の主張を明確にしましょう。
UITableView サブビューを持つビュー コントローラーがあります。このテーブル ビューには、何かのリストが表示されます (ユーザー名としましょう)。NSURLSessionDataTask を準備して再開しました。
私のテスターの何人かは、ディスパッチ呼び出しと実行ループに関連するいくつかのクラッシュに直面しており、その背後にある理由を見つけることができませんでした。これは私のディスパッチコールに関連していると思います。今、私はこれのために私のデザインを再考しています.ここに私の質問があります:
- httpタスクの完了ハンドラーでメインキューのdispatch_async呼び出しの内側と外側で静的データ(配列、辞書など)を更新することの違いは何ですか(私のデータの更新後、とにかくディスパッチ呼び出し内でUIが更新されます)?. 配列からの読み取り、配列への挿入、または配列からの削除中に、バックグラウンド スレッドのスレッド セーフを確保するにはどうすればよいですか?
- クロージャー内でdispatch_async呼び出しを行うと(タスク完了ハンドラー用)、問題が発生する可能性がありますか?
明確なコメントやガイドは非常に役立ちます! もう本当にありがとう
ios - 連続した URL からデータを取得するにはどうすればよいですか
ループで実行しようとすると、ページ番号までの連続した URL があります。これは機能しません。ここでは、ページ番号までの異なる URL からデータを取得したいコードを示します。
これを行うとうまくいきますpageNumber = 1
が、問題は、基本的println(url!)
に//JSON Parse
. それが私に与えるたびに:
だから私は data が nil ではないことを確認しましたが、それはpagenumber = 1
core-data - CoreData から TableView 画像をロードするときのバグが多く、スクロールが遅い
問題 : Core Data DB に保存されたパスを使用してテーブル ビューに画像をロードするプロセスは正常に機能しますが、ユーザー エクスペリエンスはうまくいきません。スクロールが遅くてバグがあります。
重要事項 :
- ローカル DB にはCore Dataを使用します
- 画像自体をコアデータに保存するのではなく、パス(画像名)のみを保存します
- テーブル ビュー DataSource については、ID と Img 名 (TableView 行が array.Count に等しい) を含む型 Person の配列を使用します。-これは私のJsonを取得するURLです(チェックしてください) - Json Link
- Core Data DB 内のすべてのオブジェクト
- 私が知る限り、私はすべての UI アップデートをメイン シアターで行いました。
- 各チェックの後、テーブルビューをリロードします。
これは、正しい順序で実行される手順です。
NSURLSession - DataTask を使用してデータを取得します。その後、それを「解析」し、各オブジェクト(forループ内)がCore Data DBに存在するかどうかを確認し、変数をTableViewデータソース配列に追加して、データをリロードします
1)
彼が Core Data DB に存在するかどうかを確認するメソッド (メソッドは ID を受け取り、存在する場合はオブジェクトを返し、存在しない場合は nil を返します。
cellForRowAtIndexPath メソッド
問題の原因は何ですか?
ios - NSURLSessionDataTask がリクエストを繰り返し発火するのを防ぐ
NSURLSessionDataTask を使用して、iPhone が参加しているアドホック WiFi を開くデバイスから JSON データを取得しています。(接続は TCP 経由で実行されます)。
デバイスはかなり遅いです - 特定の応答を送信するのに約 5 秒かかります。私のアプリを介してリクエストを発行dataTask.resume()
した後は、completionHandler が呼び出されるのを待っています。残念ながら、リクエストは何度も発生します (それぞれ ~ 1 秒の遅延の後)。これは、dataTask または NSURLSession によって開始されると思います。デバイスのデバッグ時に、繰り返されるリクエストを監視できます。
私が使用しているコードは次のとおりです。
iOSがこれらのリクエストを再起動するのを防ぐ方法を知っている人はいますか?
ios - nsurlsessiondatatask は、POST 要求を REST ベースの URL ios に送信しているときに nil を返します
コードを実行すると、デバッガーは NSURLSessionDataTask からジャンプし、生成されるログは __NSCFLocalDataTask: 0x7ff061751960>{ taskIdentifier: 1 } {suspended} であり、NSData および NSResponse にデータはありません。
ios - NSURLSessionDataTask ショーの読み込みオーバーレイ
で非同期タスクを実行するときに、スピナーを使用して読み込みオーバーレイを作成する方法はNSURLSessionDataTask
?
objective-c - この curl コマンドを Objective-C に変換するにはどうすればよいですか?
バックエンドからデータを取得したい。Authorization を使用してリクエスト ヘッダーを設定し、前のインタラクションからバックエンドへの生成 auth_token を使用する必要があります。これが私のカールです
ここに私のコードがあります
curl を正しく実装したかどうかはわかりません。バックエンドから受け取ったデータは null です。誰も理由を知っていますか?