0

我的第一个视图控制器上有两个位置标签我需要在打开时将它们显示在另一个视图控制器上,实现这一点的最佳方法是什么?

我要传递的标签如下所示:

  latitudeLabel.text = [NSString stringWithFormat:@"latitude=%f", location.coordinate.latitude];
longitudeLabel.text = [NSString stringWithFormat:@"longitude=%f", location.coordinate.longitude];
4

3 回答 3

1

我创建了一个用于在类之间共享数据的示例。您需要做的所有事情都在这里解释

于 2013-01-29T10:11:45.850 回答
0

在推送 secondViewController 之前,您可以将标签添加为第二个 ViewController 视图的子视图

 SecondViewController *cntr = [[SecondViewController alloc] initWithNibName:@"" bundle:nil];
 [cntr.view addSubview latitudeLabel];
 [cntr.view addSubview longitudeLabel];

 [self.navigationController  pushViewController:cntr animated:YES]
于 2013-01-29T09:58:19.780 回答
0

您必须在两个视图控制器上创建相同的标签并仅传递字符串数据。您可以使用属性将参数从一个类传递到另一个类(因为它们是公共的)。

在第一个视图控制器 .m 中:

- (void)openSecondViewController {
    SecondViewController *controller = [SecondViewController alloc] init];
    controller.data = [NSArray arrayWithObjects:@"First String", @"Second String", nil];
    [self.navigationController pushViewController:controller];
}


在第二个视图控制器 .h 中:

@interface SecondViewController : UIViewController
    @property (weak, nonatomic) id data;
    @property (weak, nonatomic) IBOutlet UILabel *label1;
    @property (weak, nonatomic) IBOutlet UILabel *label2;
@end


在第二个视图控制器 .m 中:

- (void)setData:(id)data {
    self.label1.text = [data objectAtIndex:0];
    self.label2.text = [data objectAtIndex:1];
}
于 2013-01-29T10:49:30.160 回答