Xamarin自定义UITableViewCell抛出系统NullReferenceException

汤姆齐

我正在为iOS创建一个Xamarin应用,并且已将UITableViewCell添加到情节提要中以赋予其自己的风格。我确实向此自定义UITableViewCell添加了一个类,即MainMenuCell。我在单元格中添加了两个标签,并将它们与MainMenuCell.h文件连接起来,得到以下代码:

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";

它说:对象引用未设置为对象的实例。

我在这里想念什么?任何帮助将不胜感激。

asp_net

您快要准备好了–不用自己创建一个新单元,而是让iOS来完成工作并使结果出队。

public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath)
{
    var cell = (MainMenuCell)tableView.DequeueReusableCell("MainMenuCell");
    cell.SetCellData();

    return cell;
}

请注意,“ MainMenuCell”是情节提要中动态原型单元的标识符,您可以随意命名,但对于情节提要和数据源必须相同。

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

测试自定义AuthorizationAttribute时抛出NullReferenceException

来自分类Dev

Xamarin自定义UITableViewCell在重用时重叠文本

来自分类Dev

自定义UITableViewCell异常

来自分类Dev

快速自定义UITableViewCell

来自分类Dev

WPF DecimalUpDown自定义模板NullReferenceException

来自分类Dev

从自定义uitableviewcell删除自定义子层

来自分类Dev

从自定义uitableviewcell删除自定义子层

来自分类Dev

SIGABRT 在模型 c# 中抛出 xamarin 形式的自定义 getter/setter

来自分类Dev

自动使自定义异常抛出

来自分类Dev

自定义ListView抛出IndexOutOfBound

来自分类Dev

抛出并捕获自定义异常

来自分类Dev

自定义UITableViewCell的布局何时完成?

来自分类Dev

自定义UITableViewCell的awakeFromNib与initWithFrame

来自分类Dev

在自定义类中删除UITableViewCell

来自分类Dev

在自定义UITableViewCell中连接UIButton

来自分类Dev

自定义UITableViewCell不更新

来自分类Dev

为UITableViewCell加载自定义XIB

来自分类Dev

如何返回零自定义UITableViewCell

来自分类Dev

自定义UItableViewCell标签重叠

来自分类Dev

自定义UITableViewCell像气泡

来自分类Dev

自定义UITableViewCell图层截止

来自分类Dev

iOS Swift-自定义UITableViewCell

来自分类Dev

UITableViewCell自定义编辑内容

来自分类Dev

自定义UITableViewCell导致UISearchBar崩溃

来自分类Dev

带有XIB的自定义UITableViewCell

来自分类Dev

使用Xib自定义UITableViewCell

来自分类Dev

自定义UITableViewCell为空白(快速)

来自分类Dev

如何设置自定义UITableViewCell的宽度

来自分类Dev

如何从自定义UITableViewCell显示ViewController