在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
}
编辑:我想澄清一点,这不是一个风格问题;我已经决定我不喜欢这种风格。这只是一个问题,询问这样做是否会产生无法预料的后果,也许是重新创建视图或其他内容。
答案 0 :(得分:2)
只要此单元格在表格中只出现一次,这种方法就没有问题。
答案 1 :(得分:1)
这样做有一个很大的问题,因为你只会返回一个单元格。最重要的是,这将返回相同的细胞。使用nib文件定义tableviewcell的更好方法是使用UITableView的registerNib:forCellReuseIdentifier:
方法。