0

最初のビュー コントローラーに 2 つの場所ラベルがあり、開いたときに別のビュー コントローラーに表示する必要があります。これを実装する最良の方法は何ですか?

渡したいラベルは次のようになります。

  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

両方のViewControllerで同一のラベルを作成し、文字列データのみを渡す必要があります。プロパティを使用して、あるクラスから別のクラスにパラメータを渡すことができます(プロパティはパブリックであるため)。

最初のビューコントローラでは.m:

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


2番目のビューコントローラでは.h:

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


2番目のビューコントローラでは.m:

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

secondViewController をプッシュする前に、ラベルを 2 番目の 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 に答える