2015-10-25 2 views
0

У меня возникла небольшая проблема с моим нажатием segue на Xcode Im, пытаясь подтолкнуть содержимое одной метки к другой на другом контроллере представления, это моя текущая установка, никаких ошибок нет, но текст на другом контроллере просмотра не изменяется в соответствии с предыдущим окном.Xcode Segue push to Label

Первый пример ниже - мой контроллер detailview, от которого я отправляю информацию. Я создал push-сегю между контроллером подробных представлений и моим новым контроллером представления, который является CODEVIEW, и дал segue имя ShowCode.

Мне было интересно, не хватает ли кода кода, который автоматически активировал бы эту информацию без необходимости нажатия кнопки, но вместо этого будет работать при загрузке.

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ 


if ([[segue identifier] isEqualToString:@"ShowCode"]) { 


    CODEVIEW *CodeSender = [segue destinationViewController]; 

    CodeSender.CODElabel.text = _Code.text; 



} 
} 

розетка Метка для CODEVIEW

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

выхода этикетки для контроллера

@property (strong, nonatomic) IBOutlet UILabel *Code; 
+2

метка еще не создана, вы должны сохранить текст в строке свойство и присваивать это свойство метке в viewDidLoad – luk2302

+0

Привет, спасибо, что ответили, не могли бы вы показать мне пример строки ярлыка, я знаю, как связать розетку с меткой, хотите знать, как написать строку? –

+0

Просто добавьте новое свойство строки в CODEVIEW и назначьте _Code.text этому свойству. В viewDidLoad присваивает этому значению значение CODElabel.text. – luk2302

ответ

1

детализированного вида в текущем VC:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ 
    if ([[segue identifier] isEqualToString:@"ShowCode"]) { 
     CODEVIEW *CodeSender = [segue destinationViewController]; 
     CodeSender.codeLabeltext = _Code.text; 
    } 
} 

В вашей целевой/следующей VC:

а) в интерфейсе CODEVIEW.h:

@property (strong, nonatomic) NSString *codeLabeltext; 
@property (strong, nonatomic) IBOutlet UILabel *CODElabel; 

б) в вашей реализации CODEVIEW.m:

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    //... 
    _CODElabel.text = codeLabeltext; 
    //... 
} 
+0

Если этот ответ является полным и удовлетворительным для вашего вопроса, вы можете его подтвердить. Также вы можете прокомментировать это и задать дополнительные разъяснения. – Konstantinos

+0

Это решило мою проблему полностью, спасибо за ваше время. –