передача данных в навигационном приложении - PullRequest
0 голосов
/ 17 мая 2011

я работаю над навигационным приложением в контроллере rootview у меня было несколько UITextFields. На rootviewController есть кнопка, при нажатии на которую я меняю вид с помощью pushviewcontroller. Я хочу использовать значения, введенные в эти поля UItextFields, в виде карты, т. Е. Во втором представлении.

PLZ, предложите мне что-нибудь.

Ответы [ 3 ]

1 голос
/ 17 мая 2011

Перед нажатием назначьте значения второму контроллеру. Скажем, вы должны отправить значение textfield1. Сейчас

secondController.textfield1 = textfield1;

Тогда сделайте ваше нажатие на контроллер.

1 голос
/ 17 мая 2011

Используйте объект NSDictionary для хранения значений из первого контроллера. Допустим, вы используете два текстовых поля - textField1 и textField2.

- (void)loadSecondController {
    NSDictionary *values = [NSDictionary dictionaryWithObjectsAndKeys:textField1.text, @"textField1", textField2.text, @"textField2", nil];

    // Assuming you are using IB files
    SecondViewController *controller = [[SecondViewController alloc] initWithNibName:nil bundle:nil];
    controller.values = values; // Declare a NSDictionary property 'values' in SecondViewController
    [self.navigationController pushViewController:controller animated:YES];
    [controller release];
}

Теперь в SecondViewController вы можете получить к ним доступ как

...
textField1Value = [values objectForKey:@"textField1"];
textField2Value = [values objectForKey:@"textField2"];
...
1 голос
/ 17 мая 2011

вы можете передать всю информацию вашему второму контроллеру перед отправкой в ​​стек навигации.

См. Псевдокод для справки:

Первый:

MyMapController* myController = [MyMapController alloc] initWithValues:Value1,value2,value3,......valuen];
[self.navigationController pushViewController:myController animated:YES];

[myController release];
myController = nil;

Второе:

MyMapController* myController = [MyMapController alloc] init];

myController.value1 = value1;
myController.value2 = value2;
myController.value3 = value3;
............

myController.value7 = value7;
myController.value8 = value8;
[self.navigationController pushViewController:myController animated:YES];

[myController release];
myController = nil;

Может быть больше подходов для отправки данных,

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