2012-04-29 2 views
0

Я использую шаблон приложения утилиты в Xcode с основным и обратным видом. В главном представлении у меня есть метка свойства L0. Я пытаюсь скопировать этот ярлык на обратном пути. На взгляд FlipSide я объявилПриложение для iPhone iPhone, текст метки не обновляется в FLipSideView

@property (weak, nonatomic) IBOutlet UILabel *label; 

Он синтезируется в .m файл

@synthesize label = _label; 

и мой метод prepareForFegue является:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ 
    if ([[segue identifier] isEqualToString:@"showAlternate"]) { 

    FlipsideViewController *fsv = (FlipsideViewController *)[segue destinationViewController]; 
    fsv.label = self.L0; 
    fsv.delegate = self; 
}} 

Однако текст этикетки на flipsideview не меняется, хотя если я NSLog fsv.label.text в prepareForSegue, я вижу, что он правильно установлен в значение L0.text.

Любая идея о том, что я делаю неправильно?

ответ

4

В момент подготовкиForSegue был создан ваш контроллер вида назначения, но представление не загружено. Поэтому все, что вы назначили метке, перезаписывается при загрузке . Вы можете подтвердить это, зарегистрировав свойство метки перед тем, как сделать что-либо с ним - это будет нуль.

Назначение VC должно содержать свойство строки, которое вы задали в prepareForSegue с нужным текстом. Затем вы устанавливаете текст метки из этого свойства string в viewWillAppear.

+0

спасибо. Вы научили меня чему-то. отлично работает –

+0

спасибо мастер :) –

Смежные вопросы