【问题标题】:swift - if statement and arrayswift - if 语句和数组
【发布时间】:2023-03-21 05:44:01
【问题描述】:

我想将 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"] 访问数组。
  • 那我该怎么做呢?

标签: ios arrays swift if-statement


【解决方案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
猜你喜欢
  • 1970-01-01
  • 2021-10-26
  • 1970-01-01
  • 2023-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-27
  • 1970-01-01
相关资源
最近更新 更多