0
RESTful Webサービスを非同期に呼び出してJSONコンテンツを取得し、そのJSONレスポンスを解析していくつかのデータモデルエンティティを作成するという一般的なシナリオがあります。このプロセスはキャンセル/再開できます。私は最善のアプローチは次のようになりそのうち完全にはよく分からない:非同期操作と非同期ネットワークタスク?
- JSON解析のためのネットワーク呼び出しのための
Operation
と別のOperation
を実装し、前者があることから、両方の操作(JSON出力間の依存関係を設定します後者のデータ入力)。次に、これらの操作をOperationQueue
に追加します。 URLSession
およびURLSessionDataTask
を使用してネットワークコールを実行し、コールバックでJSON解析を実行します。
また、別のより良い方法ですか?
EDIT:私のシナリオでは、並行ネットワークコールを実行する必要はありません。別のパラメータでサービスを呼び出す必要がある場合は、必要に応じて以前のネットワークタスクを停止し、新しいサービスを開始することができます。
ありがとうございます。私は、2つのタスク、ネットワークコール+ JSONレスポンスの解析、および並行処理は必要ありません。新しいネットワーク通話が必要な場合は、進行中の場合は前の通話を停止して新しい通話を開始するだけです。それはURLSessionオプションをより適切にするでしょうか? – AppsDev
はい。 'invalidateAndCancel()'を使って既存のセッションを取り消すことができます。あなたはそれを追跡する必要があります。 –