将数据从Viewcontroller传递到Label

时间:2012-08-13 18:23:02

标签: objective-c ios xcode segue

  

可能重复:
  Passing Data between View Controllers

iOS dev noob here ..

我的主ViewController上有一堆按钮,我想要发生的是当用户点击其中一个按钮时,我希望它将它们带到一个带有标签的单独视图,我希望文本在根据他们按下的按钮改变标签。

所以基本上我希望能够将主ViewController上的按钮按下的数据传递到第二个视图中的标签。

这可能有点令人困惑,我道歉,但任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

我建议你尽可能使用故事板。然后,您可以按住每个按钮拖动到拖动到故事板上的新视图控制器。这将设置一个segue,您可以使用prepareforseguie方法传递您需要在新视图控制器中使用的数据。

答案 1 :(得分:0)

假设带有按钮的视图控制器位于导航控制器中 - 可能是在根...

您要做的是,为每个按钮添加目标,在代码中可以使用addTarget:action:forControlEvents:

的方法UIButton来完成

例如:

[myBtn addTarget:self action:@selector(tappedButton:) forControlEvents:UIControlEventTouchUpInside];

tappedButton方法将通过点击按钮发送消息:

- (void)tappedButton:(UIButton*)sender{
    // exploit the button
}

在此方法中,您可以获得按钮的标题 - myBtn.titleLabel.text

然后,您可以创建一个新的视图控制器(让我们保持简单,并说您有自己的UIViewController子类名为MySimpleViewController

在此课程中,您有一个cameFrom属性,可以设置按钮的标题,在viewDidLoad的{​​{1}}中,您将获得MySimpleViewController的属性值,这可能是方法实现。

cameFrom

在您的- (void)tappedButton:(UIButton*)sender{ MySimpleViewController *detail = [[MySimpleViewController alloc] init]; detail.cameFrom = sender.titleLabel.text; [self.navigationController pushViewController:detail animated:YES]; [detail release]; } MySimpleViewController's中,您创建了一个viewDidLoad,为text属性提供UILabel的值,并将其添加到self.cameFrom的视图中}