如何正确使用If-Statements?

问题描述:

我自己尝试了一些东西,但无法真正掌握它。 我想做两件事: 首先用户可以按三个按钮之一 - 他们都链接到相同的ViewController,但是当用户按下第一个按钮时,三个标签在第二个ViewController中相应地改变。然后用户可以输入一些数据,这些数据将显示在第三个视图中,也相应地在第一个视图中按下哪个按钮。我尝试了IF语句,例如(IF ViewController.button1waspressed == True),它并没有真正的工作。我也尝试过使用标签,例如(Button1.tag = 1)如何正确使用If-Statements?

有人可以给我一个关于如何工作的简短例子吗?

FirstViewController.m

- (IBAction)switch:(id)sender; 

{ 
SecondViewController *second =[[SecondViewController alloc] initWithNibName:nil bundle:nil]; 
[self presentModalViewController:second animated:YES]; 

SecondViewController.m

- (void)viewDidLoad 
{ 
[super viewDidLoad]; 

if (sender == self.button1) { 
    NSString *greeting = [[NSString alloc] initWithFormat:@"Randomtext"]; 
    self.label.text = greeting; 
} 



} 

的问题是明显的在这其中,SecondViewController不能看到从第一个属性。 (是的,我进口FirstViewController反之亦然)

你的按钮都应该直接调用IBAction S(方法像这样定义):

- (IBAction)doSomething:(id)sender; 

定义他们为IBAction的揭露他们的蓝色连接接口构建器中的连接线。一旦你将它们挂钩并调用方法,你可以简单地在sender参数上使用相等检查,该调用按钮将自动设置为它自己。

if (sender == self.myButton) { 
    // do something 
} 

在这里,我假设你已经有了一个叫您的ViewController myButton属性,这将是一个IBOutlet

@property (nonatomic, retain) IBoutlet UIButton *myButton; 

这暴露了该属性与蓝色连接线连接在界面生成器中,所以当你说myButton时,你的ViewController将确切地知道你正在谈论哪个按钮。

+0

我做了一个编辑,现在希望它更清楚我的意思:) – Blade 2012-01-07 16:44:49