Ios 从数组到字典的分组
我有课:Ios 从数组到字典的分组,ios,arrays,swift,grouping,Ios,Arrays,Swift,Grouping,我有课: class DisplayTime { var time: Schedules init (time: Schedules){ self.time = time } } 计划-具有下一个属性的类: class Schedules: Object { dynamic var hour = 0 dynamic var minute = 0 dynamic var groupIndex = 0 } 因此,我想获得字典
class DisplayTime {
var time: Schedules
init (time: Schedules){
self.time = time
}
}
计划
-具有下一个属性的类:
class Schedules: Object {
dynamic var hour = 0
dynamic var minute = 0
dynamic var groupIndex = 0
}
因此,我想获得字典
,其中键-小时和时间表的值-数组-var dictTime:[Int:[Schedules]]
我尝试过,但没有成功:
func groupBy() -> [Int:[Schedules]]{
let displayTime = self.displayTimes
var dictTime: [Int:[Schedules]] = [:]
for i in 0..<displayTime.count {
dictTime[displayTime[i].time.hour] = [displayTime[i].time]
}
print (dictTime)
return dictTime
}
func groupBy()->[Int:[Schedules]]{
让displayTime=self.displayTimes
var dictTime:[Int:[计划]]=[:]
对于0中的i..将key\u的数组计划添加到key\u now到key\u before。使用中的分类(:)
方法,您可以简单地说:
let dictTime = displayTimes.lazy.map{$0.time}.categorise{$0.hour}
map(:)
用于迭代每个DisplayTime
的time
,而lazy
用于防止创建中间数组。使用来自的分类(:)
方法,您可以简单地说:
let dictTime = displayTimes.lazy.map{$0.time}.categorise{$0.hour}
map(:)
用于迭代每个DisplayTime
的time
,而lazy
用于防止创建中间数组。请查看上次使用Excellent winterbash帽子的用户:-)@Hamish,是的,我看到了,但我无法在函数中使用该示例((见上一位佩戴卓越winterbash帽子的用户:-)@Hamish,是的,我看到了,但我无法在函数中使用该示例((