gpt4 book ai didi

swift - 为什么(self.account.text?.isEmpty)!需要 '!'

转载 作者:行者123 更新时间:2023-11-28 12:16:11 26 4
gpt4 key购买 nike

    if (self.account.text?.isEmpty)! {


}

我只是在ViewDidLoad()中记下了这个函数。(帐户是一个文本字段)

我认为 'self.account.text' 可以为 nil,而 'self.account.text?'没关系。但我不知道为什么 'self.account.text?.isEmpty' 需要 '!' - 展开。

'self.account.text?.isEmpty' 是对的,不是吗......?

我总是很感激所有的回答。

最佳答案

这是因为表达式 self.account.text?.isEmpty 的值类型为 bool 或值 nil,您可以不要使用 nil 作为 if 条件。

这里使用!是错误的。如果 textnil 则代码将崩溃。

改为写:

if self.account.text?.isEmpty == true { ... }
// or equivalently:
if self.account.text?.isEmpty ?? false { ... }

如果当 textnil 时你想跳过 if,或者:

if self.account.text?.isEmpty != false { ... }
// or equivalently:
if self.account.text?.isEmpty ?? true { ... }

如果你想在textnil时输入if。

如果 text 永远不应该是 nil 那么你可以直接在 text 之后使用 ! :

if self.account.text!.isEmpty { ... }

关于swift - 为什么(self.account.text?.isEmpty)!需要 '!',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46504492/

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