如何获取switch的值并传递给Object?

时间:2018-12-03 10:50:41

标签: swift uiswitch unrecognized-selector

我试图获取开关的值并将其传递给视图控制器中的对象。

下面是我的视图控制器的代码。我已经创建了标签,开关插座和开关动作。

@IBOutlet weak var firstTimeConducting: UILabel!
@IBOutlet weak var firstTime_Conduct: UISwitch!

@IBAction func firstTimeConductSwitchTap(_ sender: Any) {
    firstTimeConductTapped()
}

override func viewDidLoad() {
    super.viewDidLoad()
    firstTimeConductTapped()
}

func firstTimeConductTapped() {
    if firstTime_Conduct.isOn {
        value = "Yes"
    } else {
        value = "No"
    }
}

我已经调试它,当我在模拟器中单击从“关闭”到“打开”状态的开关时,它输入并获取为“是”的值。

然后返回到函数firstTimeConductSwitchTap()后,崩溃并显示以下错误

  

“由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'-[app.RequestFormViewController first_TimeConduct:]:无法识别的选择器已发送至实例0x7fb900421fc0'

我只是检索“ value”变量的值,并将其传递给要显示的对象。

您能建议我是否遵循正确的步骤以及为什么收到此错误?

1 个答案:

答案 0 :(得分:0)

错误非常明显:

在Interface Builder中,到选择器first_TimeConduct的连接已断开。您很可能已将操作方法​​重命名。

使用⇧⌘F搜索first_TimeConduct并删除连接。