2
我正在爲iOS創建一個Xamarin應用程序,並且我已經爲故事板添加了一個UITableViewCell以給它自己的樣式。我沒有爲這個自定義的UITableViewCell添加一個類,即MainMenuCell。我添加兩個標籤,以在細胞和與MainMenuCell.h文件連接它們,從而產生以下代碼:Xamarin自定義UITableViewCell拋出系統NullReferenceException
MainMenuCell.cs
using System;
using Foundation;
using UIKit;
namespace MyProjectNamespace
{
public partial class MainMenuCell : UITableViewCell
{
public MainMenuCell (IntPtr handle) : base (handle)
{
}
public MainMenuCell() : base()
{
}
public void SetCellData()
{
projectNameLabel.Text = "Project name";
projectDateLabel.Text = "Project date";
}
}
}
MainMenuCell.h(自動生成的):
using Foundation;
using System.CodeDom.Compiler;
namespace MyProjectNamespace
{
[Register ("MainMenuCell")]
partial class MainMenuCell
{
[Outlet]
UIKit.UILabel projectDateLabel { get; set; }
[Outlet]
UIKit.UILabel projectNameLabel { get; set; }
void ReleaseDesignerOutlets()
{
if (projectNameLabel != null) {
projectNameLabel.Dispose();
projectNameLabel = null;
}
if (projectDateLabel != null) {
projectDateLabel.Dispose();
projectDateLabel = null;
}
}
}
}
現在我有我的UITableViewSource這裏,我試圖從GetCell方法初始化MainMenuCell:
using System;
using UIKit;
using Foundation;
namespace MyProjectNamespace
{
public class MainMenuSource : UITableViewSource
{
public MainMenuSource()
{
}
public override nint NumberOfSections (UITableView tableView)
{
return 1;
}
public override string TitleForHeader (UITableView tableView, nint section)
{
return "Projects";
}
public override nint RowsInSection (UITableView tableview, nint section)
{
return 1;
}
public override UITableViewCell GetCell (UITableView tableView, NSIndexPath indexPath)
{
MainMenuCell cell = new MainMenuCell();
cell.SetCellData();
return cell;
}
}
}
然而,不斷拋出我System.NullReferenceException在該行:
projectNameLabel.Text = "Project name";
它說:對象引用不設置到對象的實例。
缺少什麼我在這裏?任何幫助將不勝感激。