2016-01-04 48 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 –

相關問題