iOS子类化tableviewcell返回nil

iOS子类化tableviewcell返回nil,ios,tableview,subclass,cell,tableviewcell,Ios,Tableview,Subclass,Cell,Tableviewcell,我试图为我的表的UITableViewCell子类化,但该单元格一直返回nil。有人知道为什么吗?谢谢 表格视图代码: - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; TableViewCell *cell = (TableViewCell *)[t

我试图为我的表的UITableViewCell子类化,但该单元格一直返回nil。有人知道为什么吗?谢谢

表格视图代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";

TableViewCell *cell = (TableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
JointCAD *currentCall = [[xmlParser calls] objectAtIndex:indexPath.row];

if (cell == nil)
{
    cell = [[TableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

    NSLog(@"Nil = YES");
}

cell.callType = currentCall.currentCallType;

return cell;
}
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
if (self = [super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseIdentifier]) {

    UIView *myContentView = self.contentView;

    label.text = callType;
    label.textColor = [UIColor blackColor];
    [label addSubview:myContentView];

}
return self;
}
子类代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";

TableViewCell *cell = (TableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
JointCAD *currentCall = [[xmlParser calls] objectAtIndex:indexPath.row];

if (cell == nil)
{
    cell = [[TableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

    NSLog(@"Nil = YES");
}

cell.callType = currentCall.currentCallType;

return cell;
}
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
if (self = [super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseIdentifier]) {

    UIView *myContentView = self.contentView;

    label.text = callType;
    label.textColor = [UIColor blackColor];
    [label addSubview:myContentView];

}
return self;
}

不确定这是否是原因,但您不应该在init语句中调用self.any。意思是你的自我statement@owengerig考虑到超类实例变量本身没有文档记录,否则他会怎么做?@Jon你是要退出你的NSLog还是得到nil table cell异常?因为你的NSLog是硬编码的。只是检查一下。您的意思是您有日志
“Nil=YES”
?(如果您这样做,在代码的分支中这样做是正常的,所以这里没有什么异常)或者您的dataSource方法在末尾返回一个
nil
单元格?这一行不正常:[label addSubview:myContentView]。它应该是[myContentView addSubview:label]。但我认为这不是问题所在。