我有两种类型的数组:一种用于存储类别名称:
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结果。
答案 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)