[英]can i add an ivar (or property) to an existing class in objective-c?
我想知道是否可以将ivar添加到UIButton类? 有点像类别,但不是针对方法,而是针对ivars。
我正在以编程方式创建和显示UIButton的数组,然后使用–addTarget:action:forControlEvents:
进行–addTarget:action:forControlEvents:
全事件,将它们全部链接到单个操作方法。
现在,我的接收器方法需要知道按下了所有按钮中的哪个按钮,但是使用“(id)sender”方法并不会将其剪切掉,因为唯一能区分所有按钮的是图像的显示方式,并且无法获得为此(我需要一个字符串)。 这些按钮都位于不同的位置,因此我可以做一些数学运算以将位置数据转换为“ id”,但是如果我沿行更改按钮的位置,则也需要更改数学运算,但是我不需要像那样。
除了添加(NSUInteger)idCode
属性,我是否可以(NSUInteger)idCode
UIButton并对其进行任何更改? 然后,当我创建按钮时,设置idCode,并且当target-action机制触发action方法时,我可以执行sender.idCode
。 这是这样做的方法吗?
有没有更好的标准/优雅方法来实现这种多种目标行为,从行为上看了哪里?
PS:在Mac上可以快速键入反引号吗?
你可以这样做。 但这不是必需的-每个UIView
(以及包括UIButton
子类)都具有您想要的tag
属性。
UIButton以及所有UIView子类已经具有用于该目的的integer属性: tag
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.