クラスのGetEntityID
メソッドでautorelease
メソッドを呼び出すと、それ以外の方法で保持されていないインスタンスを自動解放できます。
クラスのインスタンス化は、DB接続クラスのメソッド内で行われるため、インスタンスは返されるオブジェクトを所有しません。つまり、DB接続クラスです。この時点で、conventionによると、あなたはメモリに必要なインスタンスを管理する:あなたは、名前が「アロケーション」または「新」で始まるか、「コピーが含まれているメソッドを使用して作成する場合は、オブジェクトの所有権を取得
"(たとえば、alloc、newObject、またはmutableCopy)、または保留メッセージを送信した場合。リリースまたは自動リリースを使用して所有するオブジェクトの所有権を放棄するのは、あなたの責任です。オブジェクトを受け取ったときは、それを解放してはいけません。
オブジェクトは、インスタンス変数として使用する場合GetEntityID
方法はの終了時に割当て解除されることを防止し、返されたオブジェクトを保持することができ、例えば、周りのオブジェクトを保持することを望む送信する場合現在のイベント。ローカルでのみ使用され、現在のイベントの後に保持する必要がない場合、クラスは何もする必要はありません。現在のイベントの最後に自動解放プールによって解放されます。
This articleは、自動解放プールの詳細を説明しています。オブジェクトを自動解放する
良い質問です。以下の回答は素晴らしいです。ちょうどスタイルノート:メソッド名は一般的に小文字で始まるので、getEntityByID:が望ましいでしょう。しかし、名前を付けることはできますが、コーディング規約はコードをよりメンテナンス可能にするのに役立ちます。 :-) –