在发件人中使用带有 UIButton 的标签属性并尝试强制转换 id -> UIButton

Posted

技术标签:

【中文标题】在发件人中使用带有 UIButton 的标签属性并尝试强制转换 id -> UIButton【英文标题】:using tag attribute with a UIButton in the sender and trying to cast id -> UIButton 【发布时间】:2013-03-01 20:51:56 【问题描述】:

第一次使用标签属性并想知道我在这里做错了什么。我有两个 UIButtons 去同一个选择器。我想添加一个标签来区分:

buttonOne.tag=1;
buttonTwo.tag=2;

在响应的选择器中,我试图从发件人中取出这个标签,但被告知在“__strong id”类型的对象上找不到tag。我知道这种方法很老套,但有没有一种简单的方法可以让它工作?

-(void)buttonClicked:(id)sender

  NSLog(@"you were clicked with %d", (UIButton *)sender.tag);
  [sender setSelected:YES];

提前谢谢

【问题讨论】:

【参考方案1】:

耶:

-(void)buttonClicked:(UIButton *)sender

瞧。

或者,如果您担心使用那种丑陋的演员表,至少要注意运算符优先级:

((UIButton *)sender).tag

【讨论】:

以上是关于在发件人中使用带有 UIButton 的标签属性并尝试强制转换 id -> UIButton的主要内容,如果未能解决你的问题,请参考以下文章

引用以编程方式创建的 UI 元素

类型“UIButton”没有成员“发件人”

获取 UIButton 的 UITableViewCell?

将收件人显示为 UIButton

使用键盘编辑 UIButton 文本

带有文本笔画/轮廓的 UIButton