Swift:如何访问仅使用一个函数以编程方式创建的多个 UISwitch

标签 swift uiswitch

我创建了一个表,其中每一行都有一个名称和一个 UISwitch 按钮。行数不固定(因此 UI 开关的数量也不固定),它取决于用户输入。 我已经设法给每个 UISwitch 一个标签,但我不知道如何从 @IBAction 函数访问它们

代码

import UIKit

class Katw2ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {



var perasmenoList = [String]()
var listaApotelesmatwn = [String]()

@IBOutlet weak var katw2Tableview: UITableView!
@IBOutlet weak var debugLabel: UILabel!




override func viewDidLoad() {
    super.viewDidLoad()
    self.katw2Tableview.dataSource = self
    self.katw2Tableview.delegate = self

    // Do any additional setup after loading the view.
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return perasmenoList.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    var cell = UITableViewCell()
    var switchView = UISwitch()
    cell.accessoryView = switchView
    switchView.tag = indexPath.row
    switchView.addTarget(self, action: Selector("switchChanged"), forControlEvents: UIControlEvents.ValueChanged)
    cell.textLabel!.text = self.perasmenoList[indexPath.row]
    return cell
}

@IBAction func switchChanged(sender: UISwitch) {
//Do things
}


}

最佳答案

从我刚刚从 nhgrif 的链接中找到的另一篇文章中,所缺少的只是“switchChanged:”中的一个分号

switchView.addTarget(self, action: #selector(PIN.switchChanged(_:)),    forControlEvents: UIControlEvents.ValueChanged)

现在可以了

关于Swift:如何访问仅使用一个函数以编程方式创建的多个 UISwitch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30050473/

相关文章:

ios - AWS Appsync 复杂订阅参数

ios - JSON 解析 - 没有 URL session 任务恢复的替代方法是什么,因为它不是主线程的一部分?

ios - 如何访问 UISwitch 的值

swift - 无法将 UISwitch 连接到 viewcontroller.swift

swift - 如何使用 UISwitch 更改变量的值?

xcode - 快速 Xcode 单元测试 : Cannot convert value of type "Person" to expected argument type "Person"

xcode - 使用 swift 在 OS X 中禁用 sleep 模式

swift - CloudKit如何修改现有记录(swift 3)

ios - 应用程序从多任务处理恢复后刷新 View

iOS:最适合从两个选项中进行选择的控件