【发布时间】:2015-12-12 19:35:54
【问题描述】:
我正在尝试使用 Xcode 7 的新单选按钮模板 (NSButton) 检测当前选择了哪个单选按钮。
我创建了一个简单的动作,将打印以在选择单选按钮时记录发件人的标题。这确实有效:
@IBAction func radioButtonClicked(sender: AnyObject)
{
print(sender.selectedCell()!.title);
}
但我真正想要的是能够知道在我的代码中的其他地方选择了哪个单选按钮(特别是在按钮单击的 IBAction 上)。我试过了:
@IBAction func uploadButtonPressed(sender: AnyObject)
{
print (radioButton.selectedCell()!.title);
}
这确实编译和执行,问题是它总是给我第一个单选按钮的标题而不是实际选择的那个。
有什么想法吗?
我能得到的“最接近”(不是很干净,但工作“有点”)是查看是否 radioButton.cell?state = 1。这告诉我选择了第一个单选按钮。但这是一种非常糟糕的编码方式,仅允许 2 个单选按钮选项。
if (radioButton.cell?.state == 1)
{
print ("Radio 1 Selected");
}
else
{
print ("Radio 2 Selected");
}
【问题讨论】:
标签: swift macos interface-builder xcode7 nsbutton