Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 从数组到字典的分组_Ios_Arrays_Swift_Grouping - Fatal编程技术网

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,是的,我看到了,但我无法在函数中使用该示例((