如何解决最好的编码方式…简单的编码,很多按钮
|| 我有一个供用户购买产品的系统。他们有许多不同的产品,它相当于ipad屏幕上的大约80个按钮。这很基本,按钮上只有产品名称。 我从一个按钮的编码开始NSString *PriceString = TextView.text;
NSString *Final = [PriceString stringByAppendingString:@\"\\n Clothes Item 1 £20.00\"];
TextView.text = Final;
TotalPrice += 20;
该应用所需要做的就是生成一个带有名称和价格的文本文件,然后将价格添加到总计中。我可以做到这一点,但是我不喜欢有80次动作。那么,如果没有80个单独的IBaction,我将在最短的时间内完成此操作的最佳方法是什么?
谢谢!
解决方法
创建一个
IBAction
方法,检查sender
(按钮)的tag
属性。将方法指定为每个按钮的操作(例如,按下)。给每个按钮一个唯一的标签,例如说按钮标签/价格所来自的数组的索引(例如)。
-(IBAction)buttonPress:(id)发件人
{
UIButton * b =(UIButton *)发送器;
int标签= b.tag;
//使用标签知道按下了哪个按钮
...
}
因此,按下按钮的逻辑是一种方法,并且按钮本身具有唯一标识它的标记。
,考虑创建UIButton子类并将产品按钮“附加”存储到按钮本身内部-这样,您可以对所有按钮执行一次操作,并在操作处理程序中从发送操作的按钮中购买产品。
您将拥有类似于以下内容的界面:
@interface MyProductButton : UIButton{
Product *product;
}
@property (nonatomic,retain) Product *product;
- (id)initWithFrame:(CGRect)frame product:(Product*)product;
...
@end
,您将要用代码创建按钮,而不是使用Interface Builder。与其为每个按钮提供一种方法,不如将数据附加到按钮上,然后对每个按钮使用单一操作方法。您可以子类化UIButton并添加一个data属性,或者如果您需要存储的只是一个整数(例如,数组索引),则可以使用UIView的内置标签属性。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。