0

そのため、UITableViewCellにラベルなどを追加していましたが、サブビューを追加したときに、それらを削除する必要があることを知りました。そうしないと、グリッチが残ります...

それは理解できますが、カスタム セル クラスを使用している場合は、追加されたサブビューを削除する必要がなくなりました。どうしてこれなの?

カスタム セル クラスの init メソッドで、カスタム フレームを使用して (IB ではなく) ラベルを初期化しただけです。

4

1 に答える 1

0

余分な参照を1つ残したのではないかと思います。[[foo alloc] init] は +1 の ref を返し、サブビューを追加すると ref がもう 1 つ追加されることに注意してください。

addsubview を使用する通常の方法は、次のように autoreleased ref を渡すことです (例)。

[cell addSubview:[UILabel label:args]];

またはこれ(例):

[cell addSubview:[[[Foo alloc] init] autorelease]];
于 2013-01-12T22:31:19.117 に答える