2012-04-22 26 views
3

__block指定子を使用してスタック上の変数を指定することができます。次に、ブロック内で変数を変更できます。私はちょうど何が起こるのか舞台裏で疑問に思っていますか? (ブロックが将来実行される場合は、スタックがクリアされる可能性があります)__block指定子はどのように機能しますか?

答えて

4

__blockを参照するブロックがコピーされると、変数はヒープに移動されます。これは、それを参照するすべてのコードが間接的な手段、基本的にはポインタを使用しなければならないことを意味します。スタックからヒープに移動するときに参照とともに移動できます。

これは、hereと記載されています。

関連する問題