私は次のようなオブジェクトを割り当てています
A * a = [[A alloc] init];
別の時点で私は強制的に設定しています
a = nil;
オブジェクトを今すぐ解放できるというメッセージをARCにフラッシュしますか?
私は次のようなオブジェクトを割り当てています
A * a = [[A alloc] init];
別の時点で私は強制的に設定しています
a = nil;
オブジェクトを今すぐ解放できるというメッセージをARCにフラッシュしますか?
簡単な答え - はい。オブジェクトをnilに設定すると、Arcによって殺されます(ほとんどの場合、私の経験から、ARCを信頼できます)
arc の dealloc メソッドが作成されます。dealloc 呼び出しを直接行ってはなりません。ただし、インスタンス変数以外のリソースを解放する必要がある場合は、カスタムの dealloc メソッドを作成できます。カスタム dealloc メソッドを作成するときは、[super dealloc] メソッドを呼び出さないでください。これは自動的に行われ、コンパイラによって強制されます。
詳細については、こちらをご覧ください。
あなたが指していた元のオブジェクト (alloc/init で作成した空の A オブジェクト) は解放されると思いますが、「a」ポインターを引き続き使用して、別のオブジェクトを指すようにすることができます。