我正在尝试使用自定义UITableViewCell。我能够让单元格实例化,因此它不是null。但是,单元格中的所有UILabel出口都是空的。因此,我得到一个空指针异常。
这类似于iOS custom TableViewCell class subviews return null和Label in custom cell is null when populating UITableViewController。然而,这两种解决方案都没有解决我的问他们建议确保标识符与之匹配。他们还告诉我注册单元格以便重复使用,我也这样做。
我已确保单元格的Xib文件中的标识符与我正在使用的标识符匹配。
在我的Source类中:
public override UITableViewCell GetCell (UITableView tableView, NSIndexPath indexPath)
{
tableView.RegisterClassForCellReuse(typeof(BoardListCell), new NSString(BoardListCell.Key));
var cell = (BoardListCell) tableView.DequeueReusableCell(BoardListCell.Key);
if (cell == null)
{
var nib = UINib.FromName(BoardListCell.Key, NSBundle.MainBundle);
cell = (BoardListCell)nib.Instantiate (null, null) [0];
}
cell.setData("top", "not top"); //Sample data
return cell;
}
在我的BoardListCell类中:
public partial class BoardListCell : UITableViewCell
{
public static readonly UINib Nib = UINib.FromName ("BoardListCell", NSBundle.MainBundle);
public static readonly NSString Key = new NSString ("BoardListCell");
public BoardListCell() : base()
{
}
public BoardListCell (IntPtr handle) : base (handle)
{
}
public void setData(String top, String bottom)
{
exp.Text = top;
playTime.Text = bottom;
}
}
当我调试时,正在创建单元格。但是,它的出口是空的。如果我在构造函数中实例化它们,我不会得到错误,但这显然违背了在xcode中制作原型的目的,因为它消除了布局等。