これらの日付ポインターのいずれかまたは両方を使用するには、[リリース] が必要です。どうすればこれを知ることができますか? 明示的に init を行っていないため、わかりません。
NSDate *date = [NSDate date];
NSDate *date = [dateWithTimeIntervalSince1970:100000000];
いいえ、これらのメソッドから返される日付は両方とも自動リリースされます。それらのメモリ管理について心配する必要はありませんが、良い市民になるためには、使い終わったらポインタを nil に設定することをお勧めします。
原則として、私が「CARN」ルールと呼んでいるものに従うことができます。Cocoa/Cocoa Touch では、Copy、Alloc、Retain、またはNewという単語が含まれるメソッドは、ある時点で解放する必要があるオブジェクトを返します。これらは、保持カウントが +1 のオブジェクトを返すメソッドに適用される命名規則です。これらのメソッドを呼び出すクラスは、オブジェクトを「所有」し、処理が終了したときにオブジェクトを解放する責任があります。
お役に立てれば。
どちらも自動解放されます。つまり、自分で解放する必要はありません。経験則では、 +alloc または -copy を送信するか、オブジェクトを明示的に保持する場合、オブジェクトを所有していることになります。
オブジェクトを所有している場合は、それを解放する必要があります。+new は +alloc および -init へのショートカットです。