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()
とにかくへの呼び出しのラッパーにすぎません。
参考文献で説明されているように、コピー/リリースの合計はゼロに等しくなければなりません。したがって、Objective-Cを使用している場合は、を呼び出すことができ[block copy]
ます[block release]
。
Cを使用している場合は、とを使用する必要がBlock_copy()
ありBlock_release()
ます。
Jasarienが書いたように、彼らはおそらく同じことをしているので、それらを交換して使用することができます。ただし、規則の一貫性を保つことが重要です。したがって、使用するとき[block copy]
は[block release]
、Block_release()