私はiOS4から動作するiOSプロジェクトに取り組んでいます。私はNSOperationQueueを持って、私は操作を追加します。主な操作方法は次のようになります。NSOperation内のブロックを持つメソッド - どのように機能しますか?
ブロック内のコードは、getStuffが成功または失敗を呼び出すときにのみ呼び出されます。私はその間、私の操作はNSOperationQueueから削除され、ブロックは呼び出されないと考えました。しかし、私はそれをテストし、ブロックは実際に呼び出されました。これは、クライアントがdispatch_get_main_queueまたはそのスレッドを呼び出したスレッド(この場合は上記の操作)のsuccessブロックを呼び出すかどうかは関係なく呼び出されます。
ブロックが呼び出される前に、isFinishedメソッドが実際にtrueを返す(私はisFinishedメソッドをオーバーライドして値をチェックした)ので、ブロックが呼び出される可能性があることを誰かが説明できますか?
これは私が数百回の反復のサイクルでそれを追加するとき、私はEXC_BAD_ACCESSを取得し、上記の理解はデバッグに私を助けるかもしれない、1つのコールのために正常に動作しますが、ので、私はこのすべてを求めています。
getStuffSuccessは、同期同期または非同期ですか? – jsd
これは非同期です。 – Adriana