2011-01-11 6 views
2

に変数を送信[[self.superview] variableNameに(mainViewController *)]このは ...私はあなたの親ビューから変数を取得する方法を知っている追加サブビューのビューコントローラ

ような何かを行うことです。

しかし、今私は、サブビューに変数データを送信する方法を知りたいのですが...

特別に私はscreenTwoでこの

ScreenTwoViewController *screen2 = [[ScreenTwoViewController alloc] init]; 
... 
... 
[self.addSubview:screen2.view]; 

ような何かを行う場合、私は、変数名のメッセージがあります

サブビューとしてscreen2ビューを追加するときに、親ビューが送信するメッセージに基づいてそのビューにメッセージを表示できるように、実際のビューに可変メッセージを送信したいですか?

答えて

1

このように、サブビュー内の変数のプロパティを設定している場合は、

@property (nonatomic, retain) NSString *message;

ともあなたはいつもこの

screen2.message = [[NSString alloc] initWithFormat:@"use what ever init methode that you want"];

とメモリリークを回避するために、メソッドの終了前にScreen2にを解放することを忘れてはいけないを使用することができますよりも、自分の.mファイルでそれを合成

+0

これは完全に働いた。ありがとうございました。 – Pavan

0

Messageのセッターがありますか?そうでなければ、それは財産ですか?

- (void)setMessage:(NSString *)msg { 
    [message release]; 
    message = [msg retain]; 
    // put your code to modify your UI here 
} 

この方法では、ビューの更新と変数の代入を結ぶいる:いずれかの方法で、私はgetterメソッド、次の実装でsetMessage:(NSString *)msgを持っているでしょう。

+0

私はスクリーン2のView Controllerにセッターメッセージを持っていません。変数を送信する方法や変数の文字列を設定する方法を知りたいので、サブビューを追加すると同時にメッセージを設定することができますビューをロードするときに表示することができます。 – Pavan

+0

so ...現在のビューは次のようになります: instantiate ScreenTwoViewController * screen2 = [[ScreenTwoViewController alloc] init];たまには、[self.addSubview:screen2];私は何とか文字列変数を送信する必要がありますので、screen2内のメッセージを設定することができます...それは動的です – Pavan

0

ScreenTwoViewControllerの新しいinitメソッドを作成できます。たとえば、- (id) initWithMessage:(NSString *)messageです。

メッセージを更新するには、セッターメソッド- (void)setMessage:(NSString *)newMessageを作成してください。

+0

BTW '(mainViewController *)[[self.superview] variableName];'は実際には間違っています。 これは '[(mainViewController *)[self.superview] variableName]; ' – benwong

+0

ありがとうございました。 :D – Pavan

関連する問題