私のブロックを保存していますが、私のWebサービスが消えて、私のサーバーに話しています。したがって私は[myBlock copy]
を使用して私のブロックへの参照を保持しています。ブロックを解放する方法
データを取得しブロックを実行したら、[myBlock release]
に電話するか、Block_release(myBlock)
を使用しますか?私は両方に参照を見つけることができます。
私のブロックを保存していますが、私のWebサービスが消えて、私のサーバーに話しています。したがって私は[myBlock copy]
を使用して私のブロックへの参照を保持しています。ブロックを解放する方法
データを取得しブロックを実行したら、[myBlock release]
に電話するか、Block_release(myBlock)
を使用しますか?私は両方に参照を見つけることができます。
Block_release()
は、Objective-Cではなく、Cでブロックを使用している場合に使用します。
Objective-Cを使用する場合は、release
とcopy
のメソッドを使用して、コードの外観や周囲のObjCの残りの部分のように感じることができます。
私は両者が全く同じことをしていると思いますし、objcメソッドはとにかくBlock_release()
への呼び出しのラッパーに過ぎません。
it's explained in referenceコピー/リリースの合計はゼロでなければなりません。したがって、Objective-Cを使用している場合は、[block copy]
、したがって[block release]
を呼び出すことができます。
Cを使用している場合は、Block_copy()
とBlock_release()
を使用します。
Jasarienは書いたように、おそらく同じことをしているので、それらを同じ意味で使うことができます。しかし、コンベンションの一貫性を保つことは重要です。[block copy]
を使用する場合、[block release]
よりもむしろBlock_release()
を使用してください –