我是Xcode IDE的新手,我很快就会更好地了解它是如何工作的。
我知道可以对UI元素进行委托,例如,comboBox。这允许使用NSComboBoxDelegate支持的方法。那一切都很好。我理解如何将一个comboBox链接到该方法。
我的问题是:如果有两个comboBox元素委托给单个.swift文件,我该如何定义哪个元素将“触发”该方法,例如comboBoxSelectionDidChange?我必须有单独的.swift文件吗?每次更改时,该方法是否有效?有没有办法将每个对象链接到每个方法,因为它可以用插座和操作?
我认为这是一个简单的问题,也许是程序员可以轻松回答的问题,但对于初学者而言,抽象和更简单的间隙会使理解变得过于缓慢。
答案 0 :(得分:1)
您的元素(例如UIPicker)可以使用相同的委托方法。因此,您需要通过标记区分它们。或者通过实际参考。你需要给你的每个组合框'显然,首先是标签,然后才能使用标签选项。
例如:
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
}
}