UISwitch 在值更改 IOS Swift 时崩溃
Posted
技术标签:
【中文标题】UISwitch 在值更改 IOS Swift 时崩溃【英文标题】:UISwitch crash on value change IOS Swift 【发布时间】:2018-06-18 06:56:06 【问题描述】:我正在尝试设置一个简单的 UISwitch,它只是复制一个布尔变量中的布尔值(关闭或打开)。 问题是当我运行我的应用程序时,每次我更改开关值时,它都会崩溃并出现以下错误(在图片中)。我附上我正在尝试使用的代码:
import UIKit
class TypeOfDiabetesVC: UIViewController
@IBOutlet weak var insulinDSwitch: UISwitch!
var insulinsSwitchState : Bool = true
// viewDidLoad and Memory warning funcs etc...
@IBAction func insulinDSwitch(_ sender: UISwitch)
if (sender.isOn == true)
insulinDSwitch.setOn(true, animated: true)
else
insulinDSwitch.setOn(false, animated: true)
insulinsSwitchState = sender.isOn
应用程序构建成功,但是当我点击开关以打开或关闭它时,应用程序崩溃:
link to the image
【问题讨论】:
确保UISwitch
IBAction 连接正确。
从情节提要中删除动作并重新附加。故事板试图调用“InsulinDSwitch”,但您的功能是“insulinDSwitch”
【参考方案1】:
您在TypeOfDiabetesVC
视图控制器中的方法名为insulinDSwitch
,但情节提要试图调用InsulinDSwitch
。大小写不同导致应用崩溃。
可能的解决方案:从情节提要中删除动作并再次将其连接到正确的方法。
【讨论】:
谢谢大家,我不得不承认这是一个愚蠢的错误使用错误的出口名称。 欢迎@FabioMagarelli,这发生在我们最好的人身上:D【参考方案2】:此崩溃是因为您尚未将 IBAction 与情节提要连接,请重做。
【讨论】:
【参考方案3】:您的插座有问题,请检查您使用UISwitch
附加的操作的插座。
【讨论】:
以上是关于UISwitch 在值更改 IOS Swift 时崩溃的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS7 上更改 UISwitch 的 onTintColor?