1

我创建了自己的类来显示类似电子表格的布局。我想对 UITableViewCells 进行入队和出队。我使用此代码来执行此操作:

- (void) enqueueReusableCell: (ABTableViewCell *) cell {    

if (!enqueuedCells[cell.reuseIdentifier])
    enqueuedCells[cell.reuseIdentifier] = cell;
}

- (UITableViewCell *)dequeueReusableCellWithIdentifier:(NSString *)identifier { 
ABTableViewCell *cell;

if (enqueuedCells[identifier]) {
    cell = enqueuedCells[identifier];

    return cell.tableViewCell;
}

return nil;
}

(我有一个包装类,用于在排队存储一些额外数据时保存 UITableViewCell)

问题是,当我将单元格出列并尝试访问子视图时,我什么也得不到。在我的单元格出列后,以下行返回一个 nil 对象。

UILabel *label = (UILabel*) [cell viewWithTag:1];

这是在 XCode 4.5.x 上使用 ARC。有任何想法吗?

完整源代码在这里https://github.com/AaronBratcher/ABTableView/
(dequeue 现在只返回 nil 以避免出现问题)

4

1 回答 1

0

我建议对 UITableViewCell 进行子类化。我没有看到拥有 UITableViewCell ivar/property 的包装类的优势或意义。只需子类 UITableViewCell 并添加您的扩展属性/功能。

于 2012-11-28T13:27:38.133 回答