Ios Swift 4通过外键将数组映射到字典
我有一个对象数组(外键为classId): 我正在尝试将其映射到具有classId键的字典,该键如下所示:Ios Swift 4通过外键将数组映射到字典,ios,arrays,swift,dictionary,mapping,Ios,Arrays,Swift,Dictionary,Mapping,我有一个对象数组(外键为classId): 我正在尝试将其映射到具有classId键的字典,该键如下所示: [1:[Student], 2:[Student]] 有没有一个好的方法可以用字典来做到这一点? 我的解决方案是使用for循环遍历数组并将每个对象添加到字典中,但这似乎效率低下 Swift 4允许您实例化按键分组的词典。这是关于它的。下面是一个例子: let studentArray = [Student(id:3, name:"John", classId:1), Student(id
[1:[Student], 2:[Student]]
有没有一个好的方法可以用字典来做到这一点?
我的解决方案是使用for循环遍历数组并将每个对象添加到字典中,但这似乎效率低下 Swift 4允许您实例化按键分组的词典。这是关于它的。下面是一个例子:
let studentArray = [Student(id:3, name:"John", classId:1), Student(id:4, name:"Jane", classId:1), Student(id:5, name:"Bill", classId:2)]
let dictByKeyVersionOne = Dictionary(grouping: studentArray, by: {student in student.classId})
或者,您可以使用$0.classId
创建字典,如下所示:
let dictByKeyVersionTwo = Dictionary(grouping: studentArray, by: {$0.classId})
@莱奥达布斯:我也喜欢这样,但我怀疑他有点新,所以我做了一些更具可读性的事情。:)@阿德里安忘了提到字典(分组:studentArray){$0.classId}@LeoDabus谢谢。
let dictByKeyVersionTwo = Dictionary(grouping: studentArray, by: {$0.classId})