0

UIButton在 IB 中创建了一个 2 s 的单元格并将其子类化。如何在不重复使用的情况下使用它?(对于一个小的固定表)我尝试做类似的事情: RaffleResultCell *cell = [tableView dequeueReusableCellWithIdentifier:nil]; 但这不会在 中显示我的单元格UITableView,只是一个空白的。

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
        //Where we configure the cell in each row
        id currentRaffle = [_winnings objectAtIndex:indexPath.row];
        RaffleResultCell *cell = [tableView dequeueReusableCellWithIdentifier:@"raffleResCell"];
        if (cell == nil) {
            cell = [[RaffleResultCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"raffleResCell"];
        }
return cell;
}
4

2 回答 2

0

避免可重用性不是一个好习惯,我会说不要这样做

可重用性在这一行完成

RaffleResultCell *cell = [tableView dequeueReusableCellWithIdentifier:@"raffleResCell"];

删除该行,每次只调用 alloc 方法,而不使用检查循环

喜欢

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
       id currentRaffle = [_winnings objectAtIndex:indexPath.row];
       cell = [[RaffleResultCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"raffleResCell"];
       return cell;
}
于 2013-07-24T10:10:40.883 回答
0

您告诉您在 IB 中设置 UITableViewCell 然后您需要获取 Nib 文件,然后将该文件用作

// Get nib file from mainBundle
NSArray* topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"RaffleResultCell" owner:self options:nil];

    for (id currentObject in topLevelObjects) {
        if ([currentObject isKindOfClass:[UITableViewCell class]]) {
            RaffleResultCell *cell = (RaffleResultCell *)currentObject;
            break;
        }
    }

现在为您的按钮设置任何文本并返回单元格

于 2013-07-24T11:58:35.493 回答