UITableViewCell をサブクラス化して、左端に 1 つの画像、中央にテキスト、右端にテキストを配置します。
この UITableViewCell サブクラスには、条件に応じて 2 つの画像しかありません。UITableViewCell サブクラスで画像を使用したときに以前に行ったことは、次のように宣言しました
static UIImage *image = nil;
そして、+(void)initialize
私がそれらを割り当てた方法で。これは、画像のクラス インスタンスを持つためだけに作成され、これらの画像を UITableViewCell のすべてのインスタンスに割り当てるためにリソースを使い果たすことはありません。
したがって、私の質問は、メソッドを呼び出している UIViewController の条件に応じて、cellForRowAtIndexPath
imageA または imageB で UITableViewCell を表示する必要があるということです。したがって、擬似コードでは次のようになります
if (conditionA) {
// Set image of cell to be imageA
} else {
// Set image of cell to be imageB
}
では、サブクラス化された UITableViewCell でこれを達成するにはどうすればよいでしょうか? UITableViewCell のプロパティを観察する 1 つの方法を考えていました。そのプロパティが変更されると、それに応じてセルの画像を設定しますが、かなり簡単なはずのものが少し肥大化しているように見えますか?
理想的な方法は、UITableViewCell の init メソッドで設定することですが、セルを再利用することはできませんか?