1

XIB に UILabel、UIImageView などのオブジェクトがある場合でも、
それらを接続するために IBOutlet を使用していない場合、
次のようにこれらのオブジェクトを参照します。

UILabel *label =  (UILabel *)[[self.view subviews] objectAtIndex:x];
UIImageView *imageView =  (UIImageView *)[[self.view subviews] objectAtIndex:x];

このオブジェクトをリリースする必要がありますか?

4

4 に答える 4

1

このオブジェクトを保持していない場合は、解放する必要はありません。作成したオブジェクトを解放するだけです

于 2013-01-23T07:27:59.370 に答える
0

オブジェクトを自分で割り当て、初期化、保持、コピーしない限り、解放しないでください。

于 2013-01-23T07:48:59.660 に答える
0

作成したすべてのオブジェクトを解放する必要があります。それは良い習慣です。

そうしないと、メモリの問題が発生します。

于 2013-01-23T07:26:42.343 に答える
0

いいえ。retain を呼び出さない場合は、解放する必要はありません。

しかし、あなたのアプローチは非常に悪いです。IBOutlet 接続の作成を停止する理由はありますか? 使用viewWithTag:してもより良い仕事をします。nib に新しいビューを追加すると、順序が乱れる可能性が非常に高く、ハードコーディングされたすべてのインデックス値を変更する必要があるためです。

于 2013-01-23T07:28:27.907 に答える