1

下面显示的是我用来创建单元格的代码。该单元未被重复使用。每次cell==nil都变成真的。

我在 xib 中正确设置了标识符。请帮我。

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

    if (cell == nil) {

        NSArray *nib=[[NSBundle mainBundle]loadNibNamed:@"SRCourseListCell" owner:self options:nil];
        cell=[nib objectAtIndex:0];

    }

    return cell;
}
4

3 回答 3

2

在您的 SRCourseListCell 中,添加

- (NSString *) reuseIdentifier {
  return @"cell";
}

或者(因为您使用 nibs 可能是更好的解决方案),在 inspector 中将标识符设置为“cell”

于 2013-07-20T11:40:01.593 回答
1

在“SRCourseListCell.xib”中,转到Attributes Inspector并为Identifier设置“SRCourseListCell” 。

属性检查器

将以下修改后的代码替换为您令人兴奋的代码。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    SRCourseListCell *cell = [tableView dequeueReusableCellWithIdentifier:@"SRCourseListCell"];
    如果(单元格 == 零)
    {
        NSArray *nib=[[NSBundle mainBundle]loadNibNamed:@"SRCourseListCell" owner:self options:nil];
        单元格=[笔尖 objectAtIndex:0];
    }
    返回单元格;
}

为自定义单元格调用 xib 时,请确保xib 的标识符必须与您使用的相同:

[tableView dequeueReusableCellWithIdentifier:@"SRCourseListCell"]
于 2013-07-20T12:19:06.143 回答
-1

使用以下代码进行初始化:

    YourTableViewCell *cel = [[YourTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"identifier"];
于 2013-07-20T13:39:59.017 回答