重複の可能性:
ARC がメソッド引数を保持するのはなぜですか?
ARC では、オブジェクトをメソッドのパラメーターとして渡すと、オブジェクトの保持カウンターがバックグラウンドでインクリメントされますか?
私が見ているように、あるスレッドがポインターによって強く参照されるオブジェクトを作成し、その参照を別のスレッドに渡して長期間使用する場合、元のスレッドではポインターがメッセージが送信された直後に破棄され{}
、ポインターが宣言されたスコープが終了したために保持カウンターが減少し、その結果、オブジェクトの割り当てが解除され、2 番目のスレッドが何かの途中で予期せずオブジェクトを失います。プログラムをクラッシュさせます。しかし、オブジェクトがメソッドに渡されたときにオブジェクトの保持カウンターが 1 増加する場合、この問題のある状況は発生しません。