swift - if 语句和数组

Posted

技术标签:

【中文标题】swift - if 语句和数组【英文标题】:swift - if statement and array 【发布时间】:2018-06-21 10:34:03 【问题描述】:

我想将 DicX 中的字符串与现有标题(根据单元格选择更改的表格标题)匹配。

var DicX = ["xx",
                 "yy",
                 "zz",
                 "qq"]

let DicYY = [["11", "22", "33", "44"],
               ["1", "2", "3", "4"],
               ["m", "n", "k", "b"],
               ["bb", "kk", "mm", "nn"]]

我比较的标题是这样的:

title = detailX.insideTitle

所以我希望当标题字符串等于 DicX 字符串之一时,在 DicYY 中为它显示相应的字符串,每个按钮上的 4 个。

但无法正确匹配,我尝试这样做:

var currentX = detailX.insideTitle
    if DicX == currentX["DicX"] 

我收到这条消息:

不能用“String”类型的索引为“String”类型的值下标

我该如何做 if 语句?以及如何从 DicYY 中获取对应的?

【问题讨论】:

如果 DicX == currentX["DicX"] DicYY 和 DicX 是数组而不是字典 它不起作用,它的==,只是在这里我发错了。我会编辑它。 @Tom 因为正如 Sh_Khan 所说,DicX 和 DicYY 是数组。不是字典。并且您不能使用 currentX["DicX"] 访问数组。 那我该怎么做呢? 【参考方案1】:

这将完成这项工作(如果我做对了)。

import Foundation

let DicX = ["xx",
            "yy",
            "zz",
            "qq"]

let DicYY = [["11", "22", "33", "44"],
             ["1", "2", "3", "4"],
             ["m", "n", "k", "b"],
             ["bb", "kk", "mm", "nn"]]

let searchterm = "yy"

for (index, elem) in DicX.enumerated()

    if (searchterm != elem)  continue 
    print(DicYY[index]) // This will print ["1","2","3","4"]

【讨论】:

可以工作,我希望'searchterm' 等于'title = detailX.insideTitle' 的那个时刻的标题,这是怎么做的?谢谢!!! 让 searchterm = detailX.insideTitle

以上是关于swift - if 语句和数组的主要内容,如果未能解决你的问题,请参考以下文章

Swift控制语句

Swift 中的单行 if 语句

如何在 Swift 中的 IF 语句中设置时间延迟?

Swift快速入门流程控制

如何在 Swift 中的 if/else 语句中获取数据

UIButton if 语句 swift