Как получить текущий текст из розетки UILabel в другом классе? - PullRequest
0 голосов
/ 13 февраля 2012

У меня есть базовое приложение калькулятора с меткой, несколько цифровых кнопок и несколько простых кнопок управления. В этом приложении в нижней части экрана отображается верх другого представления (AdvancedView), на котором есть кнопка, и при щелчке подпредставление перемещается вверх до нижней части UILabel. Я могу получить доступ к текущему тексту в UILabel из класса CalcViewController, потому что есть выход:

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

в .h просто позвонив:

self.display.text

Но у меня есть кнопка SquareRoot в моем AdvancedView (вид, который скользит вверх), который также нуждается в доступе к тексту UILabel. Как я могу получить и установить текст UILabel из другого класса?

Ответы [ 2 ]

2 голосов
/ 13 февраля 2012

Вы можете сделать это:

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...");
}
0 голосов
/ 13 февраля 2012

Вы также должны @synthesize свой текст

 @synthesize display

, затем в файле, который вы хотите использовать, импортировать файл, в котором вы сделали метку, и затем дать ему указатель на этот класс.(в новом .h файле)

 CalcViewController*  calcViewController;

тогда внутри вашего кода вы сделаете:

 calcViewController.display.text;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...