Xcode 委托(delegate)链接到对象

标签 xcode swift delegation

我是 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/

相关文章:

xcode - CMake Xcode 生成器使用不再受支持的选项

ios - xcode6 启动图像 Assets 目录

ios - ld : 1 duplicate symbol for architecture x86_64 build failed

ios - AppDelegate 中另一个 Swift 文件中的访问方法

objective-c - NSURLSession 委托(delegate) : How to implement my custom SessionDelegate class accordingly?

ios - 在 iOS 中实现为多个 TableView 提供服务的一个数据源的最佳方式是什么

c++ - Xcode header 错误 - 命名空间 '_STL' 未包含命名空间 '_Rep'

swift - 使用 dispatch_async 进行并行搜索

ios - 使用 Swift CoreData 进行动态过滤

swift - subview Controller 可以成为其父 View Controller 的委托(delegate)吗?