iPhone SDK: Могу ли я получить переменную экземпляра из одного представления и получить к ней доступ в другом? - PullRequest
0 голосов
/ 26 июля 2010

Я довольно новичок в ООП в целом и просто действительно начал работать с Obj-c несколько месяцев назад. Поэтому, пожалуйста, будьте нежны! Я заранее ценю вашу помощь. Теперь к вопросу!

У меня есть 3 текстовых поля, в которые пользователь вводит имя, телефон и адрес электронной почты.

Я собираю и помещаю их в метку, используя строку NSSt, как это [это имя):

- (IBAction)changeGreeting:(id)sender {
self.name = textInput.text;

NSString *nameString = name;
if([nameString length] == 0) {
    nameString = @"I Forgot";
}
NSString *greeting = [[NSString alloc] 
                      initWithFormat:@"Hello, my name is %@! Really!", nameString];
label.text = greeting;
[greeting release];
} 

Благодаря этому я смог поместить текст из text.input в мою метку (как указано в label.text =reeting;)

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

Как мне это сделать?

1 Ответ

2 голосов
/ 26 июля 2010

Если вам не нужно сообщать об изменениях между двумя контроллерами представления, вы можете передать его с помощью пользовательского метода init. Это может быть лучше для экрана подтверждения, где подсказка не имеет смысла без этой строки.

- (id)initWithFrame:(CGRect)aRect username:(NSString*)aName {
    if((self = [super initWithFrame:aRect])) {
        _myName = [aName retain];
    }
    return self
}

Другой вариант - реализовать метод на первом контроллере представления и вызвать его со второго.

- (NSString*)enteredUsername {
    return _myName;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...