Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 按字符串值访问数组_Arrays_Swift_String - Fatal编程技术网

Arrays 按字符串值访问数组

Arrays 按字符串值访问数组,arrays,swift,string,Arrays,Swift,String,我有两种类型的阵列:一种用于存储类别名称: struct Category { var title : String var dataArrayName : String } var Categories = [ Category(title: "First Title", dataArrayName: "firstDataArray"), Category(title: "Second Title", dataArrayName: "secondDataArr

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

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中选择Rowat indexPath,我想通过
dataArrayName
Categories
访问
firstDataArray
(将数据数组推送到另一个视图控制器)


我通过行
Categories[indexath.row].dataArrayName
获得了
dataArrayName
的值,但我不知道如何访问数组,因为我得到了一个字符串结果。

我认为可以用数据[Int]设置一个“dataArrayName”。因为,当您在类别之前设置数组数据时,您可以如下方式访问此变量:

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)
]
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)
]

我认为您可以使用数据[Int]设置一个“dataArrayName”。因为,当您在类别之前设置数组数据时,您可以如下方式访问此变量:

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)
]
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,而不是通过名称,这在编程中是非常糟糕的做法。而不是使用
数组的实例,如下所示:

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)
]
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)

您可能应该访问arrayData,而不是通过名称,这在编程中是非常糟糕的做法。而不是使用
数组的实例,如下所示:

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)
]
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)