试图找到一种更简单的方法来自动反转 .on 和 off。状态 swift
trying to find a simplier way to do automatic reversal of .on and off. state in swift
myMenuItem.state = NSControl.StateValue(rawValue: Int(truncating: Bool(myMenuItem.state == .off) as NSNumber))
我一直在用这条线,开的时候关,关的时候开
使用 swift 的菜单项
有没有更简单的方法来使用相同的状态做同样的事情 ==
如果你只是想在开和关之间切换状态,你可以简单地做:
myMenuItem.state = myMenuItem.state == .off ? .on : .off
或者,您可以在 NSControl.StateValue
上添加扩展:
extension NSControl.StateValue {
mutating func toggle() {
if self == .off {
self = .on
} else {
self = .off
}
}
}
// usage:
myMenuItem.state.toggle()
myMenuItem.state = NSControl.StateValue(rawValue: Int(truncating: Bool(myMenuItem.state == .off) as NSNumber))
我一直在用这条线,开的时候关,关的时候开 使用 swift 的菜单项 有没有更简单的方法来使用相同的状态做同样的事情 ==
如果你只是想在开和关之间切换状态,你可以简单地做:
myMenuItem.state = myMenuItem.state == .off ? .on : .off
或者,您可以在 NSControl.StateValue
上添加扩展:
extension NSControl.StateValue {
mutating func toggle() {
if self == .off {
self = .on
} else {
self = .off
}
}
}
// usage:
myMenuItem.state.toggle()