4

最近、Facebook のアプリ切り替えでブロックを使用すると問題が発生しました。Facebook ログイン後にブロックを呼び出す必要がありました。

最初に、アプリが元に戻ったときにブロックが破棄されたので (スタック上にあったため)、保持することにしました。しかし、それはうまくいきませんでした。私はその問題を台無しにしました:/。そのブログここでも解決策を見つけました。

私の質問は単純です:なぜコピーは機能し、保持は機能しないのですか?

4

2 に答える 2

6

別の同様の質問に対する私の最近の回答を参照してください。

デフォルトでは、ブロックはスタック上に作成されます。つまり、作成されたスコープ内にのみ存在します。
[...]スタックとヒープの
詳細については、Mike Ash によるObjective-C の Stack and Heap Objects を参照してください。

于 2013-02-04T09:37:46.560 に答える