我正在开发基于导航的应用程序 在rootviewcontroller中我有几个UITextFields。 rootviewController上有一个按钮,点击该按钮我正在使用pushviewcontroller更改视图。我想在mapview中使用在这些UItextFields中输入的值,即我的第二个视图。
PLZ建议我。
答案 0 :(得分:1)
在推送到导航堆栈之前,您可以将所有信息传递给第二个控制器。
请参阅伪代码供您参考:
<强>首先强>
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;
可能有更多的方法来发送数据,
答案 1 :(得分:1)
在将值分配给第二个控制器之前。 假设您必须发送textfield1的值。现在
secondController.textfield1 = textfield1;
然后按下控制器。
答案 2 :(得分:1)
使用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"];
...