2012-02-13 15 views
0

私は、ラベル、いくつかの数字ボタン、およびいくつかの簡単な操作ボタンを備えた基本的な電卓アプリを持っています。このアプリでは、画面の下部に別のビュー(AdvancedView)の上部が表示され、その上にボタンがあり、クリックすると、サブビューがUILabelの下部までスライドします。別のクラスのUILabelアウトレットから現在のテキストを取得するには?

self.display.text 

しかし、私は平方根ボタンでを持っている:.hの中

@property (strong, nonatomic) IBOutlet UILabel *display; 

単に呼び出すことによって:アウトレットがありますので、私はCalcViewControllerクラスからUILabelに現在のテキストにアクセスすることができますよUILabelテキストへのアクセスが必要な私のAdvancedView(スライドアップされたビュー)。別のクラスのUILabelテキストを取得して設定するにはどうすればよいですか?インポート中にあなたがラベルを作ったファイルを、それを使用したいファイルで、あなたのテキストだけでなく

@synthesize display 

@synthesizeする必要が

NSString *text = nil; 
UIViewController *otherViewController; 

for (UIView *view in [otherViewController.view subviews]) 
{ 
    if ([view isKindOfClass:[UILabel class]]) 
    { 
     UILabel *label = (UILabel *) view; 
     text = label.text; 
     break; 
    } 
} 

if (text == nil) 
{ 
    NSLog(@"Hmm, couldn't find the view..."); 
} 

答えて

2

あなたはこれを行うことができますそのクラスへのポインタを与えます。その後、あなたのコード内であなたがどうなる

CalcViewController* calcViewController; 

(新しい.hファイルで):

calcViewController.display.text; 
0

をして:

+0

これはサブクラスだけのために適用されますか?実際にUIVewのサブクラスである完全に異なるクラスから試しているからです。とにかく、あなたの言うこととは言えないことをして、ラベルにアクセスしているようです。私のNSLogでは、ラベルに数字を入力して呼び出すと0.0000が表示されます。 – Scott

関連する問題