2012-02-28 13 views
0

親ビューコントローラから子ビューにNSStringを取得する必要があります。親ViewControllerから文字列を取得しますか?

は、だから私は 'ParentView' ----> 'ChildView'

を持っていると私はParentViewからChildViewに文字列を取得する必要があります。私は私のParentViewに文字列を返すメソッドを追加しようとしているとチャイルドビューのように幸運とそれを呼び出す。

は動作しません:

ViewController *vc = [[ViewController alloc] init]; 
startDateLbl.text = [vc string]; 

任意の助けを、これは、おかげでいただければ幸いです達成するためにどのようにと。

答えて

0

この行ViewController *vc = [[ViewController alloc] init];は新しいオブジェクトを作成します。ただ、あなたに簡単なコードを与える

は、あなたがそれ

ChildViewController *viewController = [[ChildViewController alloc] initWithNibName:@"ChildViewController" bundle:nil]; 
[self.navigationController pushViewController:viewController animated:YES]; 
//here set your label, make sure startDateLbl has getter property 
viewController.startDateLbl.text = [vc string]; 
+0

Worked!ありがとう! –

2

子ビューで列のプロパティを設定することです最も簡単な方法を取得したいと考えています。

次に、ビューをスタックにプッシュする前または後に親ビューから子ビューに文字列を渡します。

ViewController *vc = [[ViewController alloc] initWithNibName:@"ViewController"]; 
vc.childString = parentString; 
[self.navigationController pushViewController:vc animated:YES]; // this assumes navController 
+0

答えをお寄せいただきありがとうございます。文字列値を設定することは、ビューを押した後に設定した場合にのみ有効です。 –

+0

はいジョシュはそうです....あなたがビューを押すと、xibからロードされます。 –

+0

いいえ、ビューを割り当て/初期化した後の任意の時点で値を割り当てることができます。ビューをプッシュする前または後で割り当てることができます。私はいつもそれをする。 –

0

UIViewControllerタイプによっては、親View Controllerにアクセスできる場合があります。

self.parentViewController.someString(UIViewControllerドキュメントを参照)。

関連する問題