私はまだNSOperationsの理解に取り組んでいます。私は、ユーザーがHTTPリクエストを開始し、そのリクエストをNSOperationオブジェクトにカプセル化してから忘れることを望みます。私はメインコードでNSOperationオブジェクトをリリースしたいと思いますが、NSOperationQueueによって保持されています。NSOperatioQueueによるNSOperation保持
各NSOperationは、コアデータに結果を保存することで完了し、またはそれをキャンセルすることができます。しかし、私は、個々の操作ではなく、すべての未処理操作を取り消す必要があると思います。たとえば、アプリケーションが終了している場合は、それらをすべてキャンセルすることがあります。
これは私は、ユーザーがそれらを個別に追跡することなく、要求を開始し続けるようにすることができます。同じオブジェクトポインタを再利用してNSOperationオブジェクトを初期化し、キューに入れてから解放することができます。これは、NSOperationQueueが追加されたときにNSOperationを保持していれば、非常に簡単です。
は、私はキューが操作を保持することを修正し、それがインスタンス化された場所、私はそれを解放することができますでしょうか?また
、私は(私はまだ試していません)ARCに新しいですから、どのように私はこの所有権を譲渡しますか? NSOperationにキュー内で強いプロパティ属性を持たせたいと思うが、弱いプロパティ属性でインスタンス化したいとは思っていない。
ありがとう、Mugunth。両方の参照は素晴らしいリソースのように見えます。私はすでにNSOperationについて知っておくべき基本的なことのいくつかをよりよく理解するためにMKNetworkKitを精査しました。 ARCのブログはこれまでのところ良い読書です。それは非常に完全に見える。 – Jim
"NSOperationサブクラスがisExecutingに対応するKVOであり、isFinishedが失敗してNSOperationQueueがNSOperationが完了しているかどうかわからないことを確認する必要があります。 - 強調する価値がある。 – prajul