我试图在界面生成器中创建一个自定义的UITableViewCell,并将实际的UITableViewCell的文件所有者和自定义类设置为新的自定义UITableViewCell类。我会挂钩,从文件的所有者的IBOutlets和得到错误,当它来:为什么自定义TableViewCell不需要文件所有者?
TVCell *cell = (TVCell *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"TVCell" owner:nil options:nil];
for(id currentObject in topLevelObjects)
{
if([currentObject isKindOfClass:[TVCell class]])
{
cell = (TVCell *)currentObject;
break;
}
}
最后我意识到你必须从对象的UITableViewCell挂钩的IBOutlets,而不是文件的所有者。为什么是这样?
感谢
优秀的解释。我不知道为什么每个人都不这样做,而不是循环访问数组,我错过了什么? – jrturton
有些人更喜欢循环的限制,它不需要一个实例变量来完成词汇范围。 –
@JonHess - 很好的解释。谢谢你清理那个。在相关说明中,“TVCell.h”中定义的IBOutlets如何出现在IB的Table View Cell中(有点像IBOutlets在文件所有者中出现的次数)?它们在表格视图单元被定义为TVCell类型时出现。这对于表格视图单元格是独特的吗? –