2011-07-11 6 views
0

現在、AndroidからiPhone SDKに切り替える途中です。私はユーザーが項目を選択するTableViewを持っています。コントローラ間でデータを渡すことができません。 AndroidのstartActivityForResultと同等のものがありますか、または余分なものをインテントに入れていますか?これと同じように...iPhoneコントローラ間で変数を送信する

Intent i = new Intent(this, Foo.class); 
i.putExtra("Foo", foo); 
+2

これは複数回要求されています。 http://stackoverflow.com/questions/5210535/passing-data-between-view-controllers – Joe

+0

オブジェクト間でデータを渡すのと同じくらい簡単です。ちょうどそれを行う✔ –

+0

私が持っている大きな問題は、ユーザーがこのビュー(UISwitch、ボタンなど)で多くのオプションを選択できるということですが、ユーザーから選択を取得しようとする新しいコントローラを起動すると、すべてのUIコンポーネントがリセットされます。 –

答えて

1

はポストビューコントローラでは今ParentViewController

-(void)setString:(NSString *)strEntered{ 
    strABC=strEntered; 
} 

内の関数の下に作成します

NSString *strABC; 

ParentViewController

に.hファイルでこれを取り、次のように実行します。

ParentViewController *objSecond = [[ParentViewController] initwithNibName:@"parentView.xib" bundle:nil]; 

[objSecond setString:@"Comment Controller"]; 
[self.navigationController pushViewController:objSecond animated:YES]; 
[objSecond release]; 

今、 2番目のViewController viewWillAppearメソッドでこれを記述します。

-(void)viewWillAppear:(BOOL)animated{ 
     lblUserInput.text = strABC; 
} 

私はこれを書いているので、スペルミスを確認してください。この助けを願っています。

navigationContollerを使用していない場合は、次のようにすることができます。

SecondViewControler *objSecond = [[SecondViewController] initwithNibName:@"secondview.xib" bundle:nil]; 
[objSecond setUserInput:txtUserInput.text]; 
[objSecond viewWillAppear:YES]; 
[self.view addSubview:objSecond]; 
[objSecond release]; 
関連する問題