iOS子类化tableviewcell返回nil
我试图为我的表的UITableViewCell子类化,但该单元格一直返回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 *)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]。但我认为这不是问题所在。