获取对当前对象

时间:2016-05-25 21:55:27

标签: swift macos

我的目标是保护变量中按钮,标签或文本字段的引用。 问题是我不知道用户点击了哪个控件。 我有一个简单的应用程序,如下所示:

enter image description here

用户可以触摸任何控件。

只有这三个控件很容易,因为我可以拖动一个动作。但如果我有很多这些,我无法处理它们的所有动作方法。有没有一种通用的方法可以保证变量中对控件的引用,以便我可以知道哪些控件是活动控件?

修改

正如我所建议的那样,我正在使用一个函数并将该变量赋值给函数的发送者。这是它在代码中的外观:

var currentObject: NSTextField!

override func viewDidLoad() {
    super.viewDidLoad()

    myTextfield.action = #selector(myAction)
}

func myAction(sender: NSTextField)
{
    print("aktuell: \(sender)")
    currentObject = sender
}

正如您所看到的,这仅适用于NSTextfield。有没有一种方法可以使功能适用于每个控件?

1 个答案:

答案 0 :(得分:1)

为每个项目设置tag属性,然后您可以检查sender.tag以确定哪个对象正在调用它。

要设置标记,请在Storyboard中选择“属性”检查器(“工具”的右上角 - 中间按钮),然后查找此部分:

enter image description here