2013-03-17 75 views
-1

一个按钮动作,而调用一个动作按钮说从viewDidLoad中默认的是id的值?例如调用从viewDidLoad中

- (IBAction)findInvoice:(id)sender { 
.... 
.... 
} 

我目前使用的[自findInvoice:无]。在viewDidLoad中,我将发票引用传递给可编辑的文本字段。有用。这是否正确

感谢

+0

为什么你要问我们,如果它的工作?你运行了代码。它工作与否? – rmaddy 2013-03-17 19:44:42

+0

@rmaddy它确实有效。我在问,因为我不想有一个未知的问题,如果有任何问题 – user1509593 2013-03-17 19:47:18

+0

处理未知问题是测试的目的。一般来说,你在做什么都很好。这是你的代码,确定它是否好。 – rmaddy 2013-03-17 19:52:44

回答

2

嗯,这是确定这样做,但在这种情况下,我更喜欢移动逻辑到一个单独的方法和来自世界各地的调用它。

- (void)findInvoice { 
    ... 
} 

- (IBAction)findInvoiceButtonTapped:(id)sender { 
    [self findInvoice]; 
} 

- (void)viewDidLoad { 
    [self findInvoice]; 
} 
+0

+1,这就是我所说的,这是**正确的方法。 – 2013-03-17 19:55:05

+0

如果他需要将发件人用于其他目的,该怎么办? – 2013-03-17 19:56:22

+0

好的,那看起来更好 – user1509593 2013-03-17 19:57:41

2

您的电话没有问题。让你不使用sender用于任何其他目的的findInvoice方法内确定。

当单击一个按钮时,(id)sender应该是点击按钮。它代表id作为数据类型。所以你可以手动通过零或任何你需要的。

可以调用这个方法两个方面,

[self findInvoice:nil]; //sender should be nil; 

[self findInvoice:self.settingsButton];//sender should be settingsButton; 

您也可以触发这一个按钮被点击时。

- (IBAction)findInvoice:(id)sender { 

    UIButton *btnClicked = (UIButton *)sender; //it should be nil when called as [self findInvoice:nil]; 

} 
+0

谢谢你帮助我。 – user1509593 2013-03-17 20:04:11