gpt4 book ai didi

ios - "' NSOffState ' is unavailable in Swift"

转载 作者:搜寻专家 更新时间:2023-10-30 22:06:44 25 4
gpt4 key购买 nike

我有一个 NSView 的扩展,有一个名为 clearControllersInView() 的简单函数,它获取 View 中的所有 Controller 并将它们设置为默认值(即复选框关闭,弹出窗口和组合到第一个菜单项,文本字段到空字符串).我在 Swift 3 下对此没有任何问题。

我正在使用 Xcode 9 的当前测试版并将此扩展更新到 Swift 4。问题出在处理复选框的部分,当我尝试设置NSOffState 的复选框:

if item is NSButton {
let checkbox = item as? NSButton
checkbox?.state = **NSOffState** -- *'NSOffState' is unavailable in Swift*
}

我在这个程序的其他地方遇到了同样的错误,我检查了一个复选框的值。我能够通过检查 Controller 的原始值来临时修复这些实例:
if checkbox.state == NSOnState -- 错误
if checkbox.state.rawValue == 1 -- 没有错误

无法通过此处搜索或一般的 Google 找到解决方案。任何帮助将不胜感激!

最佳答案

首先 ⌥-click state 你会看到

enter image description here

state 的类型已更改为 NSControl.StateValue,这显然是一个枚举或结构。

所以只需键入 . 并使用代码完成

enter image description here


PS: 如果 item 是 NSButton 你可以安全地写

let checkbox = item as! NSButton

或者更好地使用可选绑定(bind)

if let checkbox =  item as? NSButton { ...

关于ios - "' NSOffState ' is unavailable in Swift",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46181953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com