gpt4 book ai didi

swift - 字典 where Any may hold nil value in Swift 3

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

有人可以解释为什么这在 Swift 3 中有效吗?

var dict: [AnyHashable: Any]
let b: AnyObject? = nil
let c = b as Any

dict = ["a": "aa", "b": c]

如果我测试

dict["b"] == nil

它返回错误。它应该是正确的吗?

最佳答案

您遇到了嵌套的可选值。如果字典包含 E 类型,则字典访问方法返回类型 E? 的值,如果存在该值,则返回 nil。

在您的例子中,您创建了一个字典,其中的值是可选的。所以上面的 E 类似于 Any?。这意味着 getter 的返回值是 E?Any??

在你的情况下,dict["b"] 返回一个非 nil 可选,包含值 'nil'

将您的代码放在 Playground 上并打印 dict["b"] 通过打印字符串 Optional(nil) 来确认这一点

关于swift - 字典<AnyHashable : Any> where Any may hold nil value in Swift 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41110069/

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