gpt4 book ai didi

swift - 为什么可选类型中需要两个感叹号不展开?

转载 作者:行者123 更新时间:2023-11-30 10:12:40 25 4
gpt4 key购买 nike

我正在从非 Controller 类中呈现一个 Controller ,因此我捕获了 Root View ,并得到了“未展开”的常见错误,因此我输入了?和 ! 尝试或强制展开,仍然表示窗口未展开,因此它通过插入另一个窗口来自动修复它。

UIApplication.sharedApplication().delegate?.window!!.rootViewController!.presentViewController(blah blah blah... { () -> Void in
});

标题说明了一切。我唯一的猜测是窗口基本上是一个计算属性,它提供了一个可选属性,您必须将其展开?!? (语法不是拼写错误,只是确保我没有错误地结束句子)

最佳答案

您需要两个 !,因为该类型是嵌套可选 (UIWindow??)。

像这样:

let nested: Int?? = 3

// the safe way
if let innerValue = nested {
// innerValue is of type Int?
if let unwrapped = innerValue {
// unwrapped is of type Int
}
}

关于swift - 为什么可选类型中需要两个感叹号不展开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32102890/

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