【问题标题】:Referencing a Struct not using the variable's name引用不使用变量名称的结构
【发布时间】:2017-12-04 00:22:55
【问题描述】:

您好,我有一个 swift 文件,其中包含我在应用程序中引用的元组数组。例如,我的结构如下:

struct workoutDict {
   static var bicepWorkouts = [("Barbell Curl","Bicep",0,"3x10"), ("x","x",3,"x")]
}

我有一个名为eqID 的全局变量。例如eqID = "bicepWorkouts"

在我的部分代码中,我尝试调用此字典。通常我会使用:workoutDict.bicepWorkouts,这很好用,但是我的字典中有其他锻炼,例如 barbellWorkouts,所以我让用户根据用户输入选择“bicepWorkouts”、“barbellWorkouts”等,并且需要使用它来引用我的结构。

我现在有

//Call the global variable to get what workout to look for
code = eqID
let ourWorkouts = workoutDict.code 

当我们的eqID 设置为ourWorkouts = workoutDict.bicepWorkouts 时,它应该设置ourWorkouts = workoutDict.bicepWorkouts,但是当我使用该引用时,它一直给我一个错误,即锻炼字典不包含代码。

我尝试研究引用结构的替代方法,但我找不到任何东西。任何帮助将不胜感激!

【问题讨论】:

    标签: arrays swift struct type-conversion


    【解决方案1】:

    您应该创建另一个字典来存储名称:

    struct workoutDict {
    
        static var dicts = [ "bicepWorkouts": bicepWorkouts, "barbellWorkouts": barbellWorkouts ]
    
    }
    

    然后您可以通过以下方式访问子词典:

    workoutDict.dicts[eqlID]
    

    【讨论】:

    • 嗯,很简单,谢谢!将在 7 分钟内接您
    • 类型,例如enums、classes、structs 应该有前导大写字母,即struct Workout(并将其命名为WorkoutDict 也不太好,因为1) 在 Swift 中我们不缩写。 2) 它包含一个 Dictionary 是一个实现细节。 )
    • @Sajjon 谢谢你的建议!以后我会记住的。
    猜你喜欢
    • 2021-01-10
    • 2016-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-13
    相关资源
    最近更新 更多