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 语句和数组的主要内容,如果未能解决你的问题,请参考以下文章