通过字符串值访问数组

时间:2020-04-26 13:34:12

标签: arrays swift string

我有两种类型的数组:一种用于存储类别名称:

struct Category {
    var title : String
    var dataArrayName : String
}

var Categories = [
    Category(title: "First Title", dataArrayName: "firstDataArray"),
    Category(title: "Second Title", dataArrayName: "secondDataArray")
]

和另一个用于存储类别数据的

var firstDataArray = [1, 2, 3, 4, 5] // Data Array 1
var secondDataArray = [6, 7, 8, 9, 10] // Data Array 2

然后,在tableView didSelectRowAt indexPath中,我想由firstDataArray的{​​{1}}访问dataArrayName(将数据数组推送到另一个View Controller)。

我通过第Categories行获得了dataArrayName的值,但是我不知道如何访问数组,因为我得到了String结果。

2 个答案:

答案 0 :(得分:2)

我认为您可以使用数据[Int]设置“ dataArrayName”。因为,当您将Array Data设置为类别之前时,您可以像这样访问此变量:

struct Category {
    var title : String
    var dataArrayName : [Int]
}

var firstDataArray = [1, 2, 3, 4, 5] // Data Array 1
var secondDataArray = [6, 7, 8, 9, 10] // Data Array 2

var categories = [
    Category(title: "First Title", dataArrayName: firstDataArray),
    Category(title: "Second Title", dataArrayName: secondDataArray)
]

答案 1 :(得分:1)

您可能不应该按名称访问arrayData,这在编程中是非常糟糕的做法。代替它,使用Array的实例,像这样:

struct Category {
    var title : String
    var dataArray : [Int]
}

var firstDataArray = [1, 2, 3, 4, 5] // Data Array 1
var secondDataArray = [6, 7, 8, 9, 10] // Data Array 2

var categories = [
    Category(title: "First Title", dataArray: firstDataArray),
    Category(title: "Second Title", dataArray: secondDataArray)
]

最后访问arrayData:

print(categories[indexPath.row].dataArray)