gpt4 book ai didi

swift - 可选绑定(bind)不打开字典

转载 作者:可可西里 更新时间:2023-11-01 01:05:17 25 4
gpt4 key购买 nike

我有以下字典

var menuItems: [[String: String?]] = [
["name": "Home", "identifier": "homeController"],
["name": "Page 2", "identifier": "page2"],
["name": "Page 3", "identifier": "page3"]]

现在我使用下一个代码循环遍历字典

var names: [String] = [String]()
for item in menuItems
{
if let name = item["name"]
{
names.append(name)
}
}

if let name = item["name"] 应该打开并将名称分配给 name 常量。分配有效但不会展开。

names.append(name) 抛出异常 Value of optional type 'String?'未展开;你是不是想用'!'或“?”?

为什么 item["name"] 没有展开?

最佳答案

giorashc 的回答是正确的,但我想我会发布这个,因为它可能有助于其他人理解其中的原因。

字典是用通用参数 KV 定义的。

所以对于给定的字典 dict : [K:V]

dict[k] 的输出是 V? 类型。

在这种情况下 K = StringV = String?

因此下标访问结果的类型为String??。正如已经指出的那样,它被解包为 String?

关于swift - 可选绑定(bind)不打开字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32423413/

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