我在IB中创建了一个包含2 UIButton
个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;
}
答案 0 :(得分: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;
}
答案 1 :(得分: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;
}
}
现在为您的按钮设置任何文本并返回单元格