2016-01-04 51 views
1

我已经有些看法与一些按钮(名字 - “button_arrow_product002”),我想将数据发送文按钮“button_arrow_product002”被点击 我的代码在视图控制器名 'HarachieRolliController':如何从视图控制器将数据发送到视图控制器Xamarin的iOS(C#)

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; 

    } 
} 
} 

在此代码,我有错误

'Use of unassigned local variable'

当我创建'新DetailTovarProsmotr()'我桅杆有一些参数,但我不知道这些。

UPDATE

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

+0

你DetailTovarProsmotr控制器未初始化。更改DetailTovarProsmotr x;到DetailTovarProsmotr x = new DetailTovarProsmotr();它应该工作。 –

+0

'DetailTovarProsmotr x = new DetailTovarProsmotr();' 当我创建'新DetailTovarProsmotr()'我桅杆有一些论点,但我不知道这些。 错误:“类型'murakami_kiev.DetailTovarProsmotr”不包含一个构造函数'0' 参数 –

+2

添加第二个构造到控制器这样的: 公共DetailTovarProsmotr(){} –

回答

1

作为一个总结。所有异常的根源在于你试图访问/设置未实例化类的成员。

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

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

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

+0

我尝试了所有这些,但是 - 'titleproduct = new UITextView(new CGRect(10,10,120,30));'覆盖我在Main.storyboard文件中绘制的title产品。 我发布详细问题http://stackoverflow.com/questions/34633235/initialization-data-after-it-receiving-from-another-viewcontroller –

相关问题