作为IBOutlet的xib中的UITableViewCell?

时间:2013-12-03 20:03:54

标签: ios uitableview interface-builder

在xib文件中设置UITableViewCell,将其连接到IBOutlet属性并在cellForRowAtIndexPath中返回是否安全?

理论上,我认为没有问题,假设有问题的单元不可重复使用。在实践中,我真的不喜欢这样做,但是......实际上是否存在这样做的技术问题?

@interface MyTableViewController()
{
   @property (nonatomic, strong) IBOutlet UITableViewCell *myCell;
}

....

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if(indexPath.section == 0 && indexPath.row == 0)
    {
        return myCell;
    }

    // else create some other cell manually and return it
}

编辑:我想澄清一点,这不是一个风格问题;我已经决定我不喜欢这种风格。这只是一个问题,询问这样做是否会产生无法预料的后果,也许是重新创建视图或其他内容。

2 个答案:

答案 0 :(得分:2)

只要此单元格在表格中只出现一次,这种方法就没有问题。

答案 1 :(得分:1)

这样做有一个很大的问题,因为你只会返回一个单元格。最重要的是,这将返回相同的细胞。使用nib文件定义tableviewcell的更好方法是使用UITableView的registerNib:forCellReuseIdentifier:方法。

Class Reference