XCode Storybaord - передача данных

Я новичок в раскадровке, поэтому ответ на этот вопрос может быть упрощенным,

Я создал viewController, в котором присутствует UITextField. Мой тест - переносить данные (текст) из этого текстового поля в viewController, который выталкивается на экран.

Кодирование, которое у меня есть, выглядит следующим образом:

ViewController1.h -

#import 
#import "ViewController2.h"

@interface ViewController1 : UIViewController

@property (nonatomic, retain) IBOutlet UITextField *inputText;

@end

ViewController1.m

#import "ViewController1.h"

@implementation ViewController
@synthesize inputText;


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

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

    ViewController2 *vc2 = [segue destinationViewController];
    vc2.selectedText.text = self.inputText.text;


    }

}

@end

ViewController2.h -

#import 


@interface ViewController2 : UIViewController 

@property (nonatomic, retain) IBOutlet UILabel *selectedText;

@end

ViewController2.m

#import "ViewController2.h"

@implementation ViewController2
@synthesize selectedText;

@end

Сегмент viewController1 и 2 в раскадровке называется «showTextController».

Это правильное кодирование чего-то такого простого? Нужно ли использовать метод ViewDidLoad вместе с методом prepareForSegue: sender?

Любая помощь и совет будут очень признательны.

Саймон

0

1 ответы

Это выглядит правильно для меня. На самом деле это проще, чем в прошлом, так как раскадровка берет на себя задачу создания объектов контроллера. Следует отметить, что если вы используете ARC, вам не следует сохранять свой UILabel.

Надеюсь это поможет.

0
добавлено