如何将数据从View Controller发送到View Controller Xamarin iOS(C#)

时间:2016-01-04 11:30:30

标签: c# ios xamarin xamarin.ios

我有一些带有一些按钮的视图(名称 - 'button_arrow_product002'),我想发送数据按钮'button_arrow_product002'被点击 我在ViewController名称中的代码'HarachieRolliController':

String title = json[1]["post_title"].ToString();
button_arrow_product002.TouchUpInside += (o,s) => {         
        DetailTovarProsmotr x;
        x.HendlerButtonClicked(title);
        Console.Out.WriteLine("Нажали кнопку перехода в детальный просмотр!!!!");
};

代码ViewCotroller点击了什么句柄按钮:

namespace murakami_kiev
{
partial class DetailTovarProsmotr : UIViewController
{

    public DetailTovarProsmotr (IntPtr handle) : base (handle)
    {
    }
    public override void ViewDidLoad ()
    {
        base.ViewDidLoad ();

    }
    public void HendlerButtonClicked(String json){
        titleproduct.Text = json;

    }
}
}

在这段代码中我有错误

  

'使用未分配的局部变量'

当我创建'new DetailTovarProsmotr()'时,我有一些争论,但我不知道那些。

更新

我正在创建第二个构造函数并接收String类型变量。但我有错误'对象引用没有设置为对象的实例'。帮我解决我的问题。我的屏幕截图:enter image description here

2 个答案:

答案 0 :(得分:1)

作为一个总结。所有异常的根源是您尝试访问/设置未实例化类的成员。

正如我在评论中提到的,你需要创建一个实例然后你可以修改它。

要解决您的第一个问题,您需要将DetailTovarProsmotr x;更改为DetailTovarProsmotr x = new DetailTovarProsmotr();并在DetailTovarProsmotr控制器中创建标准构造函数。

这同样适用于您使用titleproduct的第二个问题。 titleproduct的类型为UITextView,因此您需要创建一个实例,然后通过设置text属性进行操作。在titleproduct = new UITextView(new CGRect(10,10,120,30));之前添加titleproduct.Text = title2;将解决您的NullReferenceException。

答案 1 :(得分:0)