отправка переменных в добавленный контроллер представления subview - PullRequest
2 голосов
/ 11 января 2011

Я знаю, как получить переменные из родительского представления ... что делает что-то вроде этого

[(mainViewController *) [self.superview] variableName];

но теперь я хотел бы знать, как отправить переменные данные в подпредставление ...

особенно, если я сделаю что-то подобное

ScreenTwoViewController *screen2 = [[ScreenTwoViewController alloc] init];
...
...
[self.addSubview:screen2.view];

на экране. У меня есть имя переменной. Сообщение:

Я хотел бы отправить переменное сообщение фактическому представлению, чтобы оно могло отображать сообщение в этом представлении на основе того, что родительское представление отправляет при добавлении представления screen2 в качестве подпредставления ??

Ответы [ 3 ]

1 голос
/ 11 января 2011

Хорошо, если вы задали свойство для переменных в подпредставлении следующим образом:

@property (nonatomic, retain) NSString *message;

, а также синтезировали его в своем файле .m, чем вы всегда можете использовать это

screen2.message = [[NSString alloc] initWithFormat:@"use what ever init methode that you want"];

и не забудьте освободить screen2 до конца метода, чтобы избежать утечек памяти

0 голосов
/ 11 января 2011

Вы можете создать новый метод инициализации для ScreenTwoViewController.Например, - (id) initWithMessage:(NSString *)message.

Чтобы обновить сообщение, просто создайте метод установки - (void)setMessage:(NSString *)newMessage.

0 голосов
/ 11 января 2011

У вас есть сеттер для Message? Если нет, это собственность? В любом случае, у меня был бы метод получения, setMessage:(NSString *)msg со следующей реализацией:

- (void)setMessage:(NSString *)msg {
    [message release];
    message = [msg retain];
    // put your code to modify your UI here
}

Таким образом, вы связываете присвоение переменной с обновлением представления.

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