0

我想知道使用 custom 时最好的方法/设计是什么UITableViewCell

我这样做的一种方法是使用一个 init 来获取设置UITableViewCell. 喜欢-initWithLabel:groups:error

然后我会像这样初始化它CustomUITableViewCell *cell = [CustomUITableViewCell alloc] initWithLabel:@"Hello" groups:@[@"1", @"2", @"3"] error:NO];

然后也许稍后如果我需要将错误更新CustomUITableViewCell为 YES,我只需重新加载单元格CustomUITableViewCell并在 init 中提供 YES。

现在我想知道为单元格设置一个设置器是否会“更好”,就像- (void)setError:(BOOL)error我可以在需要更新单元格的错误而不是重新加载整个单元格时进行设置。

比较这两个选项有什么优点/缺点?

4

2 回答 2

1

您的第一选择似乎不是一个好方法。如果您每次都创建单元格就可以了。但实际发生的是表格视图将仅创建 10-15 个单元格(取决于),稍后它们将被重用。因此,除非您在外部调用它(这不好),否则初始化不会执行。

cellForRow 因此,自定义单元格中的好方法是使用属性并公开数据源对象中将要更改的所有内容。如果外部类可以访问标签,则将其作为属性。因此,您可以轻松更改任何值。

于 2013-05-20T12:26:59.767 回答
0

当您有一个可以更改的成员变量时,那么肯定它应该使用一个设置器(并且是一个属性),因此您不必每次都替换该类。源代码会更清晰,程序也会更高效。如果您认为鼓励客户在创建新对象时显式设置该变量是个好主意,您也可以将其包含在您的 init 中。

于 2013-05-20T12:03:34.897 回答