Swift 检查 viewDidLoad 上的 uiswitch 状态
Swift check uiswitch status on viewDidLoad
我对 uiswitch 有疑问。我需要知道当 app 运行 第一次使用时 uiswitch 是打开还是关闭。
我试过这段代码:
@IBOutlet weak var switch1: UISwitch!
override func viewDidLoad() {
super.viewDidLoad()
if switch1.on {
print("Switch is on")
}
else {
print("Switch is off")
}
}
但每次我收到此错误:
fatal error: unexpectedly found nil while unwrapping an Optional value
如何在不出现该错误的情况下打开 uiswitch?
可能是您的 switch1 没有连接到故事板或 xib 中的 UISwitch。
if let switch = switch1 {
if switch.on {
print("switch is on")
} else {
print("switch is off")
}
} else {
println("Where's the switch")
}
你必须调用super。所有 IBOutlets 都是隐式解包可选的。在调用 awakeFronNib
之前,它们是 nil
。如果您在此之前尝试访问其中之一,则会出现异常。
还要验证开关的插座是否已连接。
override func viewDidLoad() {
super.viewDidLoad()
if switch1.on {
print("Switch is on")
}
else {
print("Switch is off"
}
}
我对 uiswitch 有疑问。我需要知道当 app 运行 第一次使用时 uiswitch 是打开还是关闭。 我试过这段代码:
@IBOutlet weak var switch1: UISwitch!
override func viewDidLoad() {
super.viewDidLoad()
if switch1.on {
print("Switch is on")
}
else {
print("Switch is off")
}
}
但每次我收到此错误:
fatal error: unexpectedly found nil while unwrapping an Optional value
如何在不出现该错误的情况下打开 uiswitch?
可能是您的 switch1 没有连接到故事板或 xib 中的 UISwitch。
if let switch = switch1 {
if switch.on {
print("switch is on")
} else {
print("switch is off")
}
} else {
println("Where's the switch")
}
你必须调用super。所有 IBOutlets 都是隐式解包可选的。在调用 awakeFronNib
之前,它们是 nil
。如果您在此之前尝试访问其中之一,则会出现异常。
还要验证开关的插座是否已连接。
override func viewDidLoad() {
super.viewDidLoad()
if switch1.on {
print("Switch is on")
}
else {
print("Switch is off"
}
}