NSButton 值为 1

NSButton values are 1

我想使用 NSButton 的 integerValue 在方法中传递信息并 运行 变成一个奇怪的错误:无论我将值设置为什么 - 无论是 integerValue、stringValue 还是 floatValue,当我读出它时,它是 1。

NSButton 继承自 NSControl,应该 具有通常的一组值...但是所有这些值,包括字符串,都解析为 1。

我在 NSControl.h 或 NSButton.h 中看不到任何内容表明 xxValue 不是普通属性。

我在 Xcode 9/Swift 4/macOS 10.12.6 中工作 - 这是一个已知问题吗?这在任何地方都有记录吗?我已经使用 .tag 作为解决方法,但我不想这样做。

这不是错误。

来自documentation of NSButton

For most types of buttons, the value of the button matches its state—the value is 1 for on, 0 for off, or -1 for mixed. For pressure-sensitive buttons, the value of the button indicates pressure level instead.