2
私はしばしば何かについて質問します。新しいviewcontrollerを作成する前に、私は何らかの方法で提示したいviewcontrollerの名前を持つインスタンス変数をチェックします。alloccontent/init(iOS)ではない場合に、viewcontrollerが存在するかどうかを調べる
if (self.viewcontroller == nil) {
//alloc and init the viewcontroller, then set the reference to this.
}
//Else I use the instance variable reference without making a new object of it.
これは、単一のwebviewを持つビューコントローラなどのオブジェクトで行います。 webviewが開く可能性のあるURLは異なりますが、これはviewWillAppearメソッドで設定されます。
この悪い習慣ですか?私はまた、 "詳細な" viewcontrollerを保持します。
ありがとうございます。
怠惰な初期化を使用するとよいでしょうが、 '-retain'の呼び出しは不要で、View Controllerインスタンスがリークします。それをしないでください。 – jlehr
はい、私は保持について不明です。私が "親" viewcontrollerでdeallocで解放するプロパティに持っていると、なぜそれがリークしますか? – LuckyLuke
@jlehr、エラーの検出に感謝します。私はそれを修正した。 allocは、新規およびコピーとともに、所有権を付与します。 – westsider