nsoperation

    2

    1答えて

    私は学習していますNSOperations & NSOperationQueueです。 "UPLOAD" & "をDELETE": 私はNSBlockOperationのセットを持っています。 MUST実行する前にアップロードを完了してから実行してください。 私がしたいのは、1つの操作を完了してから次のセットに移動することです。 私はNSThread sleepForTimeIntervalを使用

    0

    1答えて

    操作を使用してデータをplistファイルに保存しようとしています。 私は非同期保存を実装したいので、start() をオーバーライドしました。しかし、より節約したチェックをしようとすると、isFinishedはfalseのままです。私は class OperationDataManager: Operation { var user: AppUser? override fu

    3

    1答えて

    私はNSOperationQueueをすべてのタスクの操作を迅速に完了するために努力しています。私は以下のデモコードを作成し、私の期待通りに動作します。 func downloadTopStroiesDetails(){ let operationQueue: OperationQueue = OperationQueue() let operation1 = BlockOpe

    2

    1答えて

    私はフレームワークに取り組んでおり、非公開のパブリックメソッドを保証するために、私はすべてのパブリックメソッド呼び出しを操作キューに入れてすぐに戻るNSOperationQueueを使用しています。 異なる操作との間には関連性や依存関係はなく、操作は、キューに追加されたのと同じ順序でFIFO順に開始されるということだけが重要です。ここで は私の現在の実装(sample project here)の

    1

    1答えて

    私は、iOS同期プロセスを一連の非同期NSOperationサブクラスに分解しました。これらは、重い処理を行うものと、ネットワーキングに依存するものに分類されます。しかし、彼らのほとんどはCore Dataを使って作業をしています。 オペレーション内でコアデータ操作を実行する方法がわかりません。 ここにいくつかの例があります...私の実際のコードは、データベースコンテキストの内外でいくつかのスイッ

    0

    1答えて

    バックグラウンドでいくつかの非同期クエリを実行するためにNSOperation(現在Operationと呼ばれているもの)をサブクラス化しました。私はこれらを一度に1つずつ実行したいと思います。この目的のためにmaxConcurrentOperationCountを1に設定しましたが、依然としてキュー内の複数のオブジェクトを許可しています。 私は右のクラス宣言の下に私のキューを宣言している: le

    0

    1答えて

    私はOperationQueueでドキュメントを読んでいます。 この疑問は、私たちが作成している操作、BlockOperation、およびOperationQueueの同期と非同期のステータスです。 私はそれを理解しているので、それは同期操作として実行されますが、非同期で実行したい場合は、dispatch.asyncを使用して非同期にそれを送出する必要があります。 私はそれを正しく理解していますか

    2

    2答えて

    私は、次の手順でシナリオを実行する必要があります。 そのJSONレスポンスを解析し、モデルエンティティ を作成するために、そして、ユーザー が提供するいくつかの検索パラメータを使用してネットワーク呼び出しを行うにはその後作成されたエンティティごとに、関連付けられたイメージURLがある場合は、そのようなイメージをダウンロードするための対応するサービスを呼び出して、ダウンロードが完了したらUIColl

    8

    2答えて

    私は、より深い同時性のダイビングをしており、GCDとNSOperationについて広く読んでいます。しかし、キャノニックanswer on SOのような多くの投稿は数年前です。一般的に、最も高いレベルの抽象化(のような単純なディスパッチ以上も 「進むべき道」:それがために使用NSOperation主な利点、いくつかのパフォーマンスを犠牲にように私には思えた は、タスク操作(取消など) が簡単にタス

    1

    2答えて

    をisFinishedするとき、私はそのisFinished財産のKVOの観察のために登録し、操作サブクラスのインスタンスを作成し、私のキューに追加して、操作を起動します。 class MyOperation : Operation { override func main() { print("starting") print("finishing")