讨论。这是更优选的:IBAction按钮按
与发送者A单一IBAction为和一堆if语句 例如:if (sender == self.whichbuttonpressed)
或
单个IBAction为与发送方和switch语句 例如:switch (send.tag)
//短手以便于阅读
或
对每个按钮的IBAction。
讨论可以说我们在XIB文件中有6个或更少的按钮。
感谢
PS使我相信你的奶奶正在看你的反应所以没有嘲讽请,是真实的。
讨论。这是更优选的:IBAction按钮按
与发送者A单一IBAction为和一堆if语句 例如:if (sender == self.whichbuttonpressed)
或
单个IBAction为与发送方和switch语句 例如:switch (send.tag)
//短手以便于阅读
或
对每个按钮的IBAction。
讨论可以说我们在XIB文件中有6个或更少的按钮。
感谢
PS使我相信你的奶奶正在看你的反应所以没有嘲讽请,是真实的。
我更喜欢使用标签,所以
单IBAction为与发件人和switch语句前:开关(send.tag)//人手不够,为便于阅读
最后的办法如果针对不同按钮的动作显着不同,则是合理的
你的实现依赖于你的应用程序,但考虑到这个..
说你是实施数字键盘,10个键(0-9)。按下每个按钮时唯一的区别是数字代表。所以,如果你每个按钮的标签设置为数字值的按钮应该代表,处理10个按钮与一个IBAction为方法变得微不足道:
-(IBAction)buttonPress:(id)sender { UIButton *b = (UIButton *)sender; int value = b.tag; // Do something with value... }
我已经用这种方法适用于各种情况下单视图包含许多按钮,这些按钮基本上都是做同样的事情,但可以通过为每个按钮分配一个唯一的标记而在幕后进行区分。
如果您有许多按钮的视图,但它们彼此不相关,那么每个按钮都应该有它自己的IBAction方法。在这种情况下这样做可以让每个按钮的操作的独特实现更具可读性和可维护性。
我其实是你列出的第二和第三个。标签肯定比一堆if语句更容易使用。如果我在一个视图上有一堆完全不相关的按钮,我通常使用单独的IBActions。如果它们彼此相关,那么我使用1 IBAction,所以我不必重复自己。
实施例:
作为一个诙谐自负的智能屁股,我特此告诉你:“堆栈溢出是专业和爱好者程序员”。你的祖母是专业的程序员吗? – Kheldar
谁首选?不同的结构在不同的情况下是有意义的,使用与你的用例最匹配的结构。 – codelark
我很高兴你认出你自己。谢谢。 – axe