在没有标签的dynamiclly创建的按钮上选择正确的UIButton

问题描述:

我正在加载一个plist文件并基于此文件创建按钮。这些按钮可以在应用程序运行期间随时更改(这将触发所有按钮的更新等)。在没有标签的dynamiclly创建的按钮上选择正确的UIButton

一组按钮代表一个类别列表。所以我可能会有一个房子按钮,汽车按钮等。不管按下哪个按钮,它都会调用我的categoryButtonPressed:(id)发送者函数。我需要知道按钮是什么,并根据按下的按钮(类别)加载第二组数据。

因此,如果我按房屋按钮,该功能需要加载房屋数据,但我怎么才能确定在该功能按下哪个按钮。如果我使用标签,我必须知道房屋按钮是标签1,汽车是标签2等等。但是我不知道在阅读那个文件之前是否还会有房子按钮。我是否需要将标签编码到plist文件中?

OR有没有办法通过我的UIButtons数组来循环并确定?有什么建议?最后,如果我创建了自己的扩展版本的UIButton,添加了一个“名称”变量,那么我是否仍然运气不好,因为该动作会通过UIButton基础,并将扩展类与基地进行比较失败正确?

感谢您的帮助!

而在去年,如果我创造我自己的扩展 版本的UIButton的是增加了一个 “名”的变量,将我仍然 是出于运气,因为行动 会通过UIButton的基础和 比较我扩展类到 基地总是会失败正确?

该动作是通过任何控制权传递的,无论任何类,该动作是注册的。创建您自己的自定义按钮与其他属性似乎是要走的路。

您也可以将按钮的标签设置为按钮数组中的索引或按钮对应的plist中的索引。

+0

如果我确实创建了一个自定义按钮并使用该按钮,我将如何比较这两个对象是否相等?对于Objective-C,我还是个新手。我只是使用==还是有一个类等于修饰符? – 2010-07-31 22:44:41

+0

有一个'isEqual:'方法,但除非您为自定义类实现它,否则它会回到指针相等。指针平等就足够了,除非类的不同实例可能是等价的。 – drawnonward 2010-08-01 06:49:39