Как передать значение из одного представления в другое? (IPhone) - PullRequest
0 голосов
/ 11 марта 2010

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

Ответы [ 4 ]

5 голосов
/ 11 марта 2010

Похоже, вы не следуете MVC соглашениям.

Если у вас есть отдельный набор «модельных» классов, которые просто хранят данные, ваше первое представление обновит их с изменениями из текстового представления (либо по ходу работы, либо когда вы покинете представление). Второе представление получило бы свои данные из модели, чтобы получить обновленное поле.

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

2 голосов
/ 11 марта 2010

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

myViewController.text_field.text

где myViewController - контроллер представления, который вы собираетесь показать пользователю.

0 голосов
/ 11 марта 2010

Вот отличный пример того, как передать переменную (используя MVC) от одного контроллера (деталь) к другому (редактирование) от Apple.

Пример CoreDataBooks

В подробном представлении (передать книгу в EditingViewController):

 EditingViewController *controller = [[EditingViewController alloc] initWithNibName:@"EditingView" bundle:nil];

        controller.editedObject = book;
         ...

        [self.navigationController pushViewController:controller animated:YES];
        [controller release];

В режиме редактирования (EditingViewController):

- (IBAction)save {
    ...
        [editedObject setValue:datePicker.date forKey:editedFieldKey];
        [editedObject setValue:textField.text forKey:editedFieldKey];
    }

    [self.navigationController popViewControllerAnimated:YES];
}
0 голосов
/ 11 марта 2010

Pass

text_field.text

ко второму виду любым удобным вам способом

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