gpt4 book ai didi

objective-c - Nil 合并运算符 Swift

转载 作者:搜寻专家 更新时间:2023-11-01 05:59:09 25 4
gpt4 key购买 nike

我在 swift 中遇到了一个问题。在 Objective-C 中我这样写:

return !item ? self.people.count : item.children.count

因此,如果 item 为 nil,则返回 self.people.count,否则返回 item.children.count。如何在 Swift 中编写这样的东西?

最佳答案

不要将 nil 合并运算符与条件简写运算符混淆,后者在 Swift 和 Objective-C 中均可用:

return !item ? self.people.count : item.children.count

上面的行返回 self.people.count如果!item评估为 trueitem.children.count否则。它在 Objective-C 和 Swift 中都有效。但是,如果你想检查 item因为不是 nil值,那么在 Swift 中你需要专门做这样的检查:

return item == nil ? self.people.count : item.children.count

Nil 合并运算符允许重写这个更短的:

return item?.children.count ?? self.people.count

如果项目不是 nil ,它会返回它的计数。否则,你会得到 people的计数。

有关更多信息,您可能需要查看此 Swift 语言指南 chapter .

关于objective-c - Nil 合并运算符 Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28261924/

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