それは動作します...クラッシュしないで、私が必要なものを行うように見えます。[自己解放]できますか?
これは私のアプリケーションの設計上の欠陥かもしれませんが、私が必要とするものを行う最も簡単な方法です。基本的にビューが表示され、オブジェクト自体の中のコントロールは、スーパービューからいつ削除されるかを決定します(その時点で解放する必要があります)。
[self release]
を実行するのが最も簡単です。これは動作するようです。
しかし、私はオブジェクトの所有権を認識していますが、オブジェクト自体を解放するオブジェクトのインスタンス化は、オブジェクト所有権の良い設計ではないことを認識しています。つまり、所有者クラス(新しいオブジェクトをインスタンス化するクラス)それを解放するもの。しかし、これは、オブジェクトを解放するだけで、所有者クラスにコールバックするデリゲートメソッドを記述する必要があります。
お願いします。 :)
おかげ
は、うーん、あなたは良い点を作るです。スーパービューに追加されたら、ただ解放することができますか? –
これは通常行われる方法です。問題は、サブビューへの参照(保持する必要がある)も必要とする他のオブジェクト(コントローラ)があるときです。しかし、たとえあなたが[自己解放]しても、そのコントローラーは今やごみ箱への参照を持っているので何らかの形で通知を受ける必要があります。 – Thilo
さて、@ Thiloはそうです、ここのケースではUIViewを作成していない、UIViewControllerのビュー(保持しています!) –