私は、ラベル、いくつかの数字ボタン、およびいくつかの簡単な操作ボタンを備えた基本的な電卓アプリを持っています。このアプリでは、画面の下部に別のビュー(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...");
}
これはサブクラスだけのために適用されますか?実際にUIVewのサブクラスである完全に異なるクラスから試しているからです。とにかく、あなたの言うこととは言えないことをして、ラベルにアクセスしているようです。私のNSLogでは、ラベルに数字を入力して呼び出すと0.0000が表示されます。 – Scott