2016-08-30 3 views
0

私はいつもARC deallocの下にオブジェクトを作成するために最初に使用したのと同じスレッドから呼び出されると思っていましたが、これについては本当にわかりませんし、Appleの公式文書でこれを参照することもできませんでした。これは本当ですか?または最後の参照が行われたスレッドから呼び出されますか?どのスレッドからARCでdeallocが呼び出されますか?

は編集:私はARCは自動的にretainrelease呼び出しを追加します理解 が、これはdeallocが最後releaseが呼ばれたのと同じスレッドで実行されることを意味するのでしょうか?

答えて

1

ARCは、どのスレッドメモリ管理が行われるかに関するセマンティクスを変更しません。

+1

私は理解しますが、もう少し詳しく説明できますか?私はARCが自動的にretain/release呼び出しを追加することを理解しています。これは、 'release'が呼び出された最後のスレッドから' dealloc'メソッドが実行されることを意味しますか? @ Raspu、右。 – Raspu

+1

参照カウントがゼロになる最後の 'release'で呼び出されます。 –

+0

@ Cy-4AH大変感謝しています! – Raspu

関連する問題