1

我有一个名为 ScheduleTableViewCell 的自定义 UITableView 单元。它在 initWithStyle 中以编程方式(无 NIB)添加了三个子视图(标签)。我可以调用我的cellForRowAtIndexPath方法:[[ScheduleTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];一切正常。我寻找更好的方法来设置重用标识符,这样我就没有一堆永远不会使用的标签和视图(我只使用我创建的三个),但找不到任何。这是最好的方法,我不应该担心过多的内存使用,还是有更好的方法来设置重用标识符?

谢谢。

编辑:

我用于创建自定义 UITableViewCells 的代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    ScheduleTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];

    if (cell == nil) {
        cell = [[ScheduleTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
        [cell setSelectionStyle:UITableViewCellSelectionStyleNone];
    }

    if (_grayedOut) {
        [[cell mainLabel] setTextColor:[UIColor grayColor]];
        [[cell subtitleLabel1] setTextColor:[UIColor grayColor]];
        [[cell subtitleLabel2] setTextColor:[UIColor grayColor]];
    } else {
        [[cell mainLabel] setTextColor:[UIColor blackColor]];
        [[cell subtitleLabel1] setTextColor:[UIColor blackColor]];
        [[cell subtitleLabel2] setTextColor:[UIColor blackColor]];
    }
    [[cell mainLabel] setText:[[[[[[[self appDelegate] user] days] objectAtIndex:_dayInt] periods] objectAtIndex:[indexPath section]] desc]];
    [[cell subtitleLabel1] setText:[NSString stringWithFormat:@"Teacher: %@", [[[[[[[self appDelegate] user] days] objectAtIndex:_dayInt] periods] objectAtIndex:[indexPath section]] teacher]]];
    [[cell subtitleLabel2] setText:[NSString stringWithFormat:@"Location: %@", [[[[[[[self appDelegate] user] days] objectAtIndex:_dayInt] periods] objectAtIndex:[indexPath section]] roomLocation]]];

    return cell;
}
4

0 回答 0