我有一个UITableView,其中包含一个原型单元,在情节提要中向其添加了组件,并在我的CustomCell.h和.m文件中对其进行了引用,CustomCell.cs如下所示:
public partial class CustomCell : UITableViewCell
{
public CustomCell(IntPtr handle) : base(handle)
{
}
public UILabel Sender
{
get
{
return senderLabel;
}
set
{
senderLabel = value;
}
}
public UILabel Subject
{
get
{
return subjectLabel;
}
set
{
subjectLabel = value;
}
}
public UILabel Date
{
get
{
return timeLabel;
}
set
{
timeLabel = value;
}
}
public UILabel Preview
{
get
{
return previewLabel;
}
set
{
previewLabel = value;
}
}
public UILabel Initials
{
get
{
return initialsLabel;
}
set
{
initialsLabel = value;
}
}
}
然后将此自定义单元格用于表的源文件及其GetCell方法中,以尝试向表中添加数据:
CustomCell cell = tableView.DequeueReusableCell("MailCell") as CustomCell;
cell.Sender.Text = TableItems[indexPath.Row].Sender;
cell.Subject.Text = TableItems[indexPath.Row].Subject;
cell.Preview.Text = TableItems[indexPath.Row].Preview;
cell.Date.Text = TableItems[indexPath.Row].Time;
cell.Initials.Text = "";
当您运行程序并尝试将数据添加到表中时,它在GetCell方法的第二行以NullReferenceException中断,这意味着它们要么在单元格中没有标签,要么在单元格中没有编辑。我的原型单元格的标识符为“ MailCell”,并且我尝试在该类中创建完整的构造函数,但这种方法无法正常工作。我以前曾以编程方式将组件添加到表的单元格中,并且效果很好,因此我可以确定将数据添加到源中的代码可以按预期工作,而不是问题。还有什么可以测试的?
答案 0 :(得分:0)
之所以中断,是因为它找不到第一行的自定义单元格实例。 如果找不到一个DequeueReusableCell实例,它将返回null
将代码更改为:
for key, value in form.cleaned_data.items():