2012-04-23 14 views
6

私のブロックを保存していますが、私のWebサービスが消えて、私のサーバーに話しています。したがって私は[myBlock copy]を使用して私のブロックへの参照を保持しています。ブロックを解放する方法

データを取得しブロックを実行したら、[myBlock release]に電話するか、Block_release(myBlock)を使用しますか?私は両方に参照を見つけることができます。

+0

を使用してください –

答えて

9

Block_release()は、Objective-Cではなく、Cでブロックを使用している場合に使用します。

Objective-Cを使用する場合は、releasecopyのメソッドを使用して、コードの外観や周囲のObjCの残りの部分のように感じることができます。

私は両者が全く同じことをしていると思いますし、objcメソッドはとにかくBlock_release()への呼び出しのラッパーに過ぎません。

5

it's explained in referenceコピー/リリースの合計はゼロでなければなりません。したがって、Objective-Cを使用している場合は、[block copy]、したがって[block release]を呼び出すことができます。

Cを使用している場合は、Block_copy()Block_release()を使用します。

Jasarienは書いたように、おそらく同じことをしているので、それらを同じ意味で使うことができます。しかし、コンベンションの一貫性を保つことは重要です。[block copy]を使用する場合、[block release]よりもむしろBlock_release()

関連する問題