Arrays 如何检查嵌套字典中的值

Arrays 如何检查嵌套字典中的值,arrays,swift,dictionary,Arrays,Swift,Dictionary,我的嵌套字典有问题 var level1Dictionary = [String : [String : String]]() var ChosenDeckLabel = [String] textview.text 我想看看字典是否在我的,else语句中包含某个值,如果这样的话: else if level1Dictionary[ChosenDeckLabel[textview.text]] != nil { 这将返回错误: 无法使用字符串类型的索引为字符串类型的值下标 我应该如何转换它以

我的嵌套字典有问题

var level1Dictionary = [String : [String : String]]()
var ChosenDeckLabel = [String]
textview.text
我想看看字典是否在我的,
else语句中包含某个值,如果这样的话:

else if level1Dictionary[ChosenDeckLabel[textview.text]] != nil {
这将返回错误:

无法使用字符串类型的索引为字符串类型的值下标


我应该如何转换它以检查嵌套字典是否包含该值?

我想这就是您打算做的:


如果level1Dictionary[strIndex1][strIndex2]!=无{

我想这就是你打算做的:


else如果level1Dictionary[strIndex1][strIndex2]!=nil{

字典默认为可选,因为它们不确定是否存在键/值对。请确保包含“!”和“?”包装和展开传递的数据。

默认情况下,字典是可选的,因为它们不确定是否存在键/值对。确保包含“!”和“?”以包装和展开传递的数据。

执行此操作时:

level1Dictionary[ChosenDeckLabel[textview.text]]
您正试图使用
字符串
下标访问
ChosenDeckLabel
数组

ChosenDeckLabel[textview.text]

这不是一个有效的操作。数组是
Int
索引的,而不是字符串索引的。

执行此操作时:

level1Dictionary[ChosenDeckLabel[textview.text]]
您正试图使用
字符串
下标访问
ChosenDeckLabel
数组

ChosenDeckLabel[textview.text]

这是无效的操作。数组是
Int
索引的,而不是字符串索引的。

数组通过整数和范围提供订阅,如Swift的API所示:

public subscript (index: Int) -> Element
public subscript (subRange: Range<Int>) -> ArraySlice<Element>

数组通过整数和范围提供订阅,如Swift的API所示:

public subscript (index: Int) -> Element
public subscript (subRange: Range<Int>) -> ArraySlice<Element>

错误在哪里?你能给我们一些样本数据输入,以及你期望的输出吗?错误在哪里?你能给我们一些样本数据输入,以及你期望的输出吗?哈哈:)是的,谢谢,我用错了。所有的答案都非常感谢!哈哈:)是的,谢谢,我用错了。所有的答案都非常感谢!