我是 Xcode IDE 和 swift 的新手,我正在尝试更好地了解它是如何工作的。
我知道可以对 UI 元素(例如组合框)进行委托(delegate)。这允许使用 NSComboBoxDelegate 支持的方法。没关系。我了解如何将一个组合框链接到该方法。
我的问题是:如果有两个comboBox元素委托(delegate)给单个.swift文件,我如何定义哪一个将“触发”该方法,例如comboBoxSelectionDidChange?我必须有单独的 .swift 文件吗?每次更改时该方法都有效吗?有没有办法将每个对象链接到每个方法,就像可以使用 socket 和操作一样?
我相信这是一个简单的问题,程序员可能会轻松回答,但对于初学者来说,抽象和更简单的漏洞会降低理解速度。
最佳答案
您的元素(例如 UIPicker)可以使用相同的委托(delegate)方法。因此,您需要通过标签来区分它们。或以实际引用。显然,您首先需要为每个“组合框”指定一个标签,然后才能使用标签选项。
例如:
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
{
if(pickerView.tag == 0)
{
//do whatEver you want with the picker that has tag 0
}
else if(pickerView.tag == 1)
{
//do whatEver you want with the picker that has tag 1
}
}
或引用:
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
{
if(pickerView == self.cityPicker)
{
//do whatEver you want with the city picker
}
else if(pickerView = self.countryPicker)
{
//do whatEver you want with the country picker
}
}
关于Xcode 委托(delegate)链接到对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37980861/