2012-01-08 8 views
1

私はまだiOS開発が初めてで、何かを達成する方法を知りたいと思っていました。私が持っているのはUIViewControllerオブジェクトFirstControllerSecondControllerです。 FirstControllerのNIBファイルには、UITextFieldがあります。 SecondControllerのNIVファイルには、私はUILabelを持っています。別のUIViewControllerでラベルを更新する

私がしたいことは、UITextVewを更新するときにUILabelを新しい値で更新することです。これまでのところ、私は私のFirstControllerに次のようにあります

SecondController
- (IBAction)tbxName_EditingChanged:(id)sender; 

私はそうのようなアウトレットコレクションにラベルを持っている:私はつもりので、今

@property (retain, nonatomic) IBOutletCollection(UILabel) NSArray *lblName; 

、私は、コレクションを作りました将来的には、変更する必要のあるラベルを追加して、すべて同じ値を持つようにしてください。

私がしなければならないと思っていたのは、SecondControllerの参照を私のFirstControllerに入れて、私はカスタムの 'アップデート'メソッドを実行できるようにしています。このような何か:これは何私の場合

FirstController *viewController1 = [[[FirstController alloc] initWithNibName:@"FirstController" bundle:nil] autorelease]; 
    SecondController *viewController2 = [[[SecondController alloc] initWithNibName:@"SecondController" bundle:nil] autorelease]; 
    viewController1.secondView = viewController2; 
    // do the rest to load the views... 

さて、私は.NETで、学んだものがたくさんあることを学びましたが、あなたは客観Cで物事を行う方法ではありません、私は思っていましたGoogleで見つけられない別の方法がありますか?

何か助けていただきありがとうございます。私はこれを十分に説明していただければ幸いです。

答えて

3

これらの問題を予測して実証済みの方法で解決することは、設計パターンの全体点です。要は、最初のUIViewControllerでモデルを更新し、2番目のUIViewControllerにそのビューを更新するように通知する必要があります。

私はモデルをどこかに持つことをお勧めします。いずれかのsingletonを使用して、最初に、アプリケーションのデリゲートで、またはcore data、これは少し先進的だが非常に強力な初期化。

+0

ありがとう、申し訳ありません、私は以前にそれをチェックしませんでした。私はUITableViewについていくつかの「学習」をしていました。これは本当に助けになった! –

関連する問題