使用变量获取Swift中的对象成员

时间:2016-02-18 17:13:36

标签: swift swift2

对于上下文,这是一个目标跟踪应用,您的目标是连续7天登记,获得连胜。它是用Swift2编写的

我有一个存储在变量let latestStreak

中的Object实例

问题:
我无法确定如何检查我们所处的连胜日的价值。我还想确定使用变量检查哪一天。这就是我所处的位置和我的意思。

print(latestStreak)输出:

(Streak {
    id = 0;
    Owner = Goal {
        id = 0;
        Goal = Goal;
        Habit = Habit;
        CreatedOn = 2016-02-17 00:00:47 +0000;
    };
    StartDate = 2016-02-17 00:00:47 +0000;
    Day1 = 1;
    Day2 = 0;
    Day3 = 1;
    Day4 = 0;
    Day5 = 0;
    Day6 = 0;
    Day7 = 0;
    Completed = 0;
})

我有一个函数可以计算自StartDate以来我们的天数。例如,如果StartDate是今天,Day = 0

然后,我创建了一个字符串,以对应于对象的正确成员:let streakDay = "Day"+String(days+1),可能会输出如下内容:Day1

我现在想做:

if(latestStreak.Day1 == 1){...do something}else{...}

但是,我无法弄清楚如何使用变量设置latestStreak.Day1

任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

在运行时不可能创建(复合的)变量名,因为所有变量都必须在编译时进行评估。

合适的“解决方法”是使用数组并按索引访问项目。