我可以将ivar(或属性)添加到objective-c中的现有类中吗?
问题描述:
我想知道是否有可能添加一个伊娃到UIButton类?有点像类别,但不适用于方法,但适用于ivars。我可以将ivar(或属性)添加到objective-c中的现有类中吗?
我以编程方式创建并显示UIButton的数组,然后我使用–addTarget:action:forControlEvents:
作为一个触发事件链接到单个动作方法。
现在,我的接收方法需要知道哪些按钮被按下,但使用“(id)发送者”方法并不会削减它,因为唯一区分所有按钮的是它显示的图像,没有办法去(我需要一个字符串)。按钮都在不同的地方,所以我可以做一些数学转换位置数据到一个“ID”,但如果我改变按钮的位置下线,我将需要改变数学,我不像那样。
我可以只是子类UIButton和除了添加一个(NSUInteger)idCode
属性以外没有什么改变吗?然后,当我创建按钮时,我设置了idCode,并且当目标动作机制触发动作方法时,我可以执行sender.idCode
。这是做到这一点的方式吗?
是否有一个更好的标准/优雅的方式来实现这种多目标行动看到它在哪里来的行为?
P.S .:是否有快速的方法在Mac上键入反向标记?
答
你可以这样来做。但是这不是必需的 - 每个UIView
(和包括UIButton
的子类)都有tag
属性,这正是您想要的。
谢谢!只是我在找:) – lms 2010-09-09 16:46:47