2010-04-22 88 views
6
if (cell == nil)  // 1 
{      // 2 
    [[NSBundle mainBundle] loadNibNamed:@"TVCell" owner:self options:nil]; // 3 
    cell = tvCell;  // 4 
    self.tvCell = nil; // 5 
}      // 6 

有使用自己的“自定义单元格XIB”来创建一个UITableView细胞的苹果例子一些代码单元格的详细披露按钮被点击时检测。(使用自定义单元格XIB时)

它似乎工作......但我想我会做得更好,实际上了解那里正在做什么。

  • 为什么没有以下分配值什么?

    cell = [[NSBundle mainBundle] loadNibNamed:@"TVCell" owner:self options:nil]; 
    

  • 为什么线#4分配使用tvCell没事的时候已经把它所有,但(事实上,celltvCell不被使用的。)?

  • 为什么第5行将我需要的tvCell归零?

  • 为什么这行使用assign而不是保留?

    @property (nonatomic, assign) IBOutlet UITableViewCell *tvCell; 
    

关于我不能正常工作的唯一的事情是,当我把我的自定义单元格XIB披露按钮。有没有办法让我检测用户何时点击了它? (希望没有使用100s的TAGs。)

回答

21

我还没有玩XIBs的细胞,但我不明白你为什么不能继续使用tableView:accessoryButtonTappedForRowWithIndexPath:

+0

这工作得很好:) – willcodejavaforfood 2010-04-22 06:57:35