从字典中获取日期值
Get date value from dictionary
我有一个这样声明的字典:
var result:[Workout] = []
结果中的值如下,使用print(result)
:
[Workout {
date = 2019-03-06 22:18:41 +0000;
name = Legday;
exercise = Bbb;
sets = 2;
reps = 1;
kg = 77;
notes = Bb;
}, Workout {
date = 2019-02-24 18:41:07 +0000;
name = bvcj;
exercise = Barbell Bench Press;
sets = 1;
reps = 1;
kg = 87;
notes = Kjj;
}, Workout {
date = 2019-02-22 08:02:23 +0000;
name = Chest;
exercise = Barbell Bench Press;
sets = 3;
reps = 6;
kg = 95;
notes = Ok med spot;
}, Workout {
date = 2019-02-22 08:02:23 +0000;
name = Chest;
exercise = Dips;
sets = 2;
reps = 6;
kg = 40;
notes = Lett, 1 ektra rep på siste sett;
}, Workout {
date = 2019-02-22 08:02:23 +0000;
name = Chest;
exercise = Incline Barbell Bench Press;
sets = 2;
reps = 6;
kg = 72.5;
notes = Tungt;
}, Workout {
date = 2019-02-22 08:02:23 +0000;
name = Chest;
exercise = Triceps Pushdown;
sets = 3;
reps = 12;
kg = 14.5;
notes = Ok;
}, Workout {
date = 2019-02-19 13:38:35 +0000;
name = Legday;
exercise = Squat;
sets = 2;
reps = 2;
kg = 77.5;
notes = Lett;
}, Workout {
date = 2019-02-19 13:38:35 +0000;
name = Legday;
exercise = Leg Press;
sets = 9;
reps = 8;
kg = 100;
notes = Tungt;
}, Workout {
date = 2019-02-18 10:54:34 +0000;
name = Legday;
exercise = Barbell Squat;
sets = 3;
reps = 6;
kg = 75;
notes = Tungt;
}, Workout {
date = 2019-02-18 10:54:34 +0000;
name = Legday;
exercise = Leg Extension;
sets = 10;
reps = 10;
kg = 32;
notes = Lett;
}, Workout {
date = 2019-02-17 21:48:52 +0000;
name = Legday;
exercise = Squat;
sets = 3;
reps = 6;
kg = 60;
notes = Lett;
}, Workout {
date = 2019-02-17 21:48:52 +0000;
name = Legday;
exercise = Tåhev;
sets = 4;
reps = 12;
kg = 40;
notes = Tungt;
}, Workout {
date = 2019-02-17 21:48:52 +0000;
name = Legday;
exercise = Leg Extension;
sets = 3;
reps = 6;
kg = 43.5;
notes = Lett;
}]
我只想获取每次锻炼的日期。我尝试了一些不同的东西,最接近的是使用这个:
var remoteIndexPath = NSIndexPath(row: 0, section: 0)
func didSelectDayView(_ dayView: DayView, animationDidFinish: Bool) {
let row = result[remoteIndexPath.row]
for i in result.indices { // Prøv dette i stedet for: for i in 0 ..< Results.count {
print(result[remoteIndexPath.row].date)
}
}
问题是它只打印出第一个值13次:
Optional(2019-03-06 22:18:41 +0000)
Optional(2019-03-06 22:18:41 +0000)
Optional(2019-03-06 22:18:41 +0000)
Optional(2019-03-06 22:18:41 +0000)
Optional(2019-03-06 22:18:41 +0000)
Optional(2019-03-06 22:18:41 +0000)
Optional(2019-03-06 22:18:41 +0000)
Optional(2019-03-06 22:18:41 +0000)
Optional(2019-03-06 22:18:41 +0000)
Optional(2019-03-06 22:18:41 +0000)
Optional(2019-03-06 22:18:41 +0000)
Optional(2019-03-06 22:18:41 +0000)
Optional(2019-03-06 22:18:41 +0000)
任何ideas/tips?
你可以试试
let res = result.filter { compareDate(date1:[=10=].date, date2:savedDate) }
print(res)
我想你问的是如何遍历对象数组和return日期属性?
我不知道你的锻炼对象是什么样子的,所以我做了一个
class Workout {
var date = ""
var name = ""
init(aDate: String, aName: String) {
self.date = aDate
self.name = aName
}
}
var results:[Workout] = []
let w0 = Workout(aDate: "2019-03-06", aName: "Legday")
let w1 = Workout(aDate: "2019-02-24", aName: "bvjc")
let w2 = Workout(aDate: "2019-02-22", aName: "Chest")
results.append(w0)
results.append(w1)
results.append(w2)
let allDates = results.map{ [=10=].date } //creates an array of just the dates
print(allDates)
输出为
["2019-03-06", "2019-02-24", "2019-02-22"]
我有一个这样声明的字典:
var result:[Workout] = []
结果中的值如下,使用print(result)
:
[Workout {
date = 2019-03-06 22:18:41 +0000;
name = Legday;
exercise = Bbb;
sets = 2;
reps = 1;
kg = 77;
notes = Bb;
}, Workout {
date = 2019-02-24 18:41:07 +0000;
name = bvcj;
exercise = Barbell Bench Press;
sets = 1;
reps = 1;
kg = 87;
notes = Kjj;
}, Workout {
date = 2019-02-22 08:02:23 +0000;
name = Chest;
exercise = Barbell Bench Press;
sets = 3;
reps = 6;
kg = 95;
notes = Ok med spot;
}, Workout {
date = 2019-02-22 08:02:23 +0000;
name = Chest;
exercise = Dips;
sets = 2;
reps = 6;
kg = 40;
notes = Lett, 1 ektra rep på siste sett;
}, Workout {
date = 2019-02-22 08:02:23 +0000;
name = Chest;
exercise = Incline Barbell Bench Press;
sets = 2;
reps = 6;
kg = 72.5;
notes = Tungt;
}, Workout {
date = 2019-02-22 08:02:23 +0000;
name = Chest;
exercise = Triceps Pushdown;
sets = 3;
reps = 12;
kg = 14.5;
notes = Ok;
}, Workout {
date = 2019-02-19 13:38:35 +0000;
name = Legday;
exercise = Squat;
sets = 2;
reps = 2;
kg = 77.5;
notes = Lett;
}, Workout {
date = 2019-02-19 13:38:35 +0000;
name = Legday;
exercise = Leg Press;
sets = 9;
reps = 8;
kg = 100;
notes = Tungt;
}, Workout {
date = 2019-02-18 10:54:34 +0000;
name = Legday;
exercise = Barbell Squat;
sets = 3;
reps = 6;
kg = 75;
notes = Tungt;
}, Workout {
date = 2019-02-18 10:54:34 +0000;
name = Legday;
exercise = Leg Extension;
sets = 10;
reps = 10;
kg = 32;
notes = Lett;
}, Workout {
date = 2019-02-17 21:48:52 +0000;
name = Legday;
exercise = Squat;
sets = 3;
reps = 6;
kg = 60;
notes = Lett;
}, Workout {
date = 2019-02-17 21:48:52 +0000;
name = Legday;
exercise = Tåhev;
sets = 4;
reps = 12;
kg = 40;
notes = Tungt;
}, Workout {
date = 2019-02-17 21:48:52 +0000;
name = Legday;
exercise = Leg Extension;
sets = 3;
reps = 6;
kg = 43.5;
notes = Lett;
}]
我只想获取每次锻炼的日期。我尝试了一些不同的东西,最接近的是使用这个:
var remoteIndexPath = NSIndexPath(row: 0, section: 0)
func didSelectDayView(_ dayView: DayView, animationDidFinish: Bool) {
let row = result[remoteIndexPath.row]
for i in result.indices { // Prøv dette i stedet for: for i in 0 ..< Results.count {
print(result[remoteIndexPath.row].date)
}
}
问题是它只打印出第一个值13次:
Optional(2019-03-06 22:18:41 +0000)
Optional(2019-03-06 22:18:41 +0000)
Optional(2019-03-06 22:18:41 +0000)
Optional(2019-03-06 22:18:41 +0000)
Optional(2019-03-06 22:18:41 +0000)
Optional(2019-03-06 22:18:41 +0000)
Optional(2019-03-06 22:18:41 +0000)
Optional(2019-03-06 22:18:41 +0000)
Optional(2019-03-06 22:18:41 +0000)
Optional(2019-03-06 22:18:41 +0000)
Optional(2019-03-06 22:18:41 +0000)
Optional(2019-03-06 22:18:41 +0000)
Optional(2019-03-06 22:18:41 +0000)
任何ideas/tips?
你可以试试
let res = result.filter { compareDate(date1:[=10=].date, date2:savedDate) }
print(res)
我想你问的是如何遍历对象数组和return日期属性?
我不知道你的锻炼对象是什么样子的,所以我做了一个
class Workout {
var date = ""
var name = ""
init(aDate: String, aName: String) {
self.date = aDate
self.name = aName
}
}
var results:[Workout] = []
let w0 = Workout(aDate: "2019-03-06", aName: "Legday")
let w1 = Workout(aDate: "2019-02-24", aName: "bvjc")
let w2 = Workout(aDate: "2019-02-22", aName: "Chest")
results.append(w0)
results.append(w1)
results.append(w2)
let allDates = results.map{ [=10=].date } //creates an array of just the dates
print(allDates)
输出为
["2019-03-06", "2019-02-24", "2019-02-22"]