对于上下文,这是一个目标跟踪应用,您的目标是连续7天登记,获得连胜。它是用Swift2编写的
我有一个存储在变量let latestStreak
问题:
我无法确定如何检查我们所处的连胜日的价值。我还想确定使用变量检查哪一天。这就是我所处的位置和我的意思。
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
。
任何人都可以帮忙吗?
答案 0 :(得分:0)
在运行时不可能创建(复合的)变量名,因为所有变量都必须在编译时进行评估。
合适的“解决方法”是使用数组并按索引访问项目。