我将 UITableViewCell 子类化为在最左边有一个图像,然后在中间有一些文本,然后在最右边有一些文本。
这个 UITableViewCell 子类将根据条件只有两个图像。我之前在 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 中的一个属性,当该属性发生变化时,我会相应地设置单元格图像,但这对于应该很容易的东西来说似乎有点臃肿?
理想的方法是将它设置在 UITableViewCell 的 init 方法中,但是我将无法重用单元格,对吗?