【问题标题】:Xcode: Passing label to second view?Xcode:将标签传递给第二个视图?
【发布时间】:2013-01-29 09:46:02
【问题描述】:

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

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

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

【问题讨论】:

    标签: objective-c xcode cocoa-touch location


    【解决方案1】:

    我已经创建了一个用于在类之间共享数据的示例。你需要做的就是解释here

    【讨论】:

      【解决方案2】:

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

       SecondViewController *cntr = [[SecondViewController alloc] initWithNibName:@"" bundle:nil];
       [cntr.view addSubview latitudeLabel];
       [cntr.view addSubview longitudeLabel];
      
       [self.navigationController  pushViewController:cntr animated:YES]
      

      【讨论】:

        【解决方案3】:

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

        在第一个视图控制器 .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];
        }
        

        【讨论】:

          猜你喜欢
          • 2010-11-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-08-07
          相关资源
          最近更新 更多