Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.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 Swift-使用变量引用数组中的成员_Arrays_Swift_Variables_Multidimensional Array - Fatal编程技术网

Arrays Swift-使用变量引用数组中的成员

Arrays Swift-使用变量引用数组中的成员,arrays,swift,variables,multidimensional-array,Arrays,Swift,Variables,Multidimensional Array,我有一个多维数组,正在尝试使用变量(“下面代码段中的ageVariable”)引用其中一个成员名称,就像使用变量“AgrangeSelected”引用元素一样 这是我的代码: let time = Journey[ageRangeSelected].ageVariable 年龄变量可以是“白天”、“晚上”或“晚上” 这可能吗?如前所述,我得到以下错误: “类型为‘旅程’的值没有成员‘ageVariable’” 下面是定义数组的代码-我希望能够使用变量访问成员“day”、“night”或“nig

我有一个多维数组,正在尝试使用变量(“下面代码段中的ageVariable”)引用其中一个成员名称,就像使用变量“AgrangeSelected”引用元素一样

这是我的代码:

let time = Journey[ageRangeSelected].ageVariable
年龄变量可以是“白天”、“晚上”或“晚上”

这可能吗?如前所述,我得到以下错误:

“类型为‘旅程’的值没有成员‘ageVariable’”

下面是定义数组的代码-我希望能够使用变量访问成员“day”、“night”或“night”

struct Journey: Identifiable, Equatable {
    let id: Int
    let age: String
    let day: Int
    let evening: Int
    let night: Int
    let drivers: Int
}

func createJourneyMale() -> (Array<Journey>) {
    let journeyMale1720 = Journey(id: 1, age: "17-20", day: 4521, evening: 1243, night: 946, drivers: 440)
    let journeyMale2129 = Journey(id: 2, age: "21-29", day: 5302, evening: 1254, night: 737, drivers: 1877)
    let journeyMale3039 = Journey(id: 3, age: "30-39", day: 5874, evening: 1166, night: 572, drivers: 3015)
    let journeyMale4049 = Journey(id: 4, age: "40-49", day: 6358, evening: 1298, night: 616, drivers: 3282)
    let journeyMale5059 = Journey(id: 5, age: "50-59", day: 6710, evening: 1155, night: 594, drivers: 2877)
    let journeyMale6069 = Journey(id: 6, age: "60-69", day: 6534, evening: 814, night: 418, drivers: 2388)
    let journeyMale70 = Journey(id: 7, age: "70+", day: 5643, evening: 495, night: 242, drivers: 2156)
    let journeyMale = [journeyMale1720, journeyMale2129, journeyMale3039, journeyMale4049, journeyMale5059, journeyMale6069, journeyMale70]
    return (journeyMale)
}

let Journey = createJourneyMale()
struct旅程:可识别、可平衡{
让id:Int
让年龄:字符串
让一天:Int
晚上:Int
让夜晚:Int
让驱动程序:Int
}
func createJourneyMale()->(数组){
let journeyMale1720=旅程(id:1,年龄:“17-20”,白天:4521,晚上:1243,晚上:946,司机:440)
let journeyMale2129=旅程(id:2,年龄:“21-29”,白天:5302,晚上:1254,晚上:737,司机:1877)
let journeyMale3039=旅程(id:3,年龄:“30-39”,白天:5874,晚上:1166,晚上:572,司机:3015)
let journeyMale4049=旅程(id:4,年龄:“40-49”,白天:6358,晚上:1298,晚上:616,司机:3282)
let journeyMale5059=旅程(id:5,年龄:“50-59”,白天:6710,晚上:1155,晚上:594,司机:2877)
let journeyMale6069=旅程(id:6,年龄:“60-69”,白天:6534,晚上:814,晚上:418,司机:2388)
let journeyMale70=旅程(id:7,年龄:“70+”,白天:5643,晚上:495,晚上:242,司机:2156)
让journeyMale=[journeyMale1720,journeyMale2129,journeyMale3039,journeyMale4049,journeyMale5059,journeyMale6069,journeyMale70]
返回(职业男性)
}
let Travely=createJourneyMale()

首先,没有多维数组。这是一个简单的一维数组

第二个名称变量总是以复数形式表示数组,名称变量总是以小写字母开头

let journeys = createJourneyMale()
第三,
return
的所有参数和返回值都不是函数,括号是误导和混淆的

func createJourneyMale() -> Array<Journey> {

...

return journeyMale

显示旅程数组声明。如果它是二维的,你需要给出第二维的选择索引。它不清楚。多维数组?我没有在你的例子中看到它。旅程是什么?此外,在数组命名时不使用“s”(或正确的复数形式)并以大写字母开头,会误导数组的类型和值。你有具体的例子吗?什么是旅程?你能把代码贴在你申报旅行的地方吗?抱歉-请看上面更新的代码。我基本上希望能够根据变量的值访问成员日、夜或夜。我可以看到如何使用变量访问特定元素而不是特定成员。太好了-谢谢你,瓦迪安。我对这一切都不熟悉,所以你的反馈真的很有帮助。
let ageVariable = \Journey.evening

let time = journeys[ageRangeSelected][keyPath: ageVariable]