【发布时间】:2020-05-13 01:34:28
【问题描述】:
将应用程序从 Swift 移植到 Flutter。在我的应用程序中,我有一个类 MyClass,并且正在处理大约 250 个实例的列表。在不同的时候,我需要根据特定的属性对对象进行分组。
在 Swift 中,我可以像这样创建对象的分组列表:
var groupedList = Dictionary<String, Array<MyClass>>()
然后我可以遍历我的对象列表,并根据需要将项目分配给正确的数组。我认为像这样在 Flutter 中制作列表地图可能会起作用:
Map groupedList = Map<String, List<MyClass>>();
然后我可以遍历项目,测试属性,为每个唯一值创建一个 Map 条目并将项目附加到正确的列表中:
for (var item in listOfObjects) {
if (!groupedList.containsKey(item.someproperty)) {
List<MyClass> sublist = [];
groupedList[item.someproperty] = sublist;
}
groupedList[item.someproperty].add(item);
}
然而,我得到的是一个包含所有正确键的 Map,但每个 List 只包含一个 MyClass 实例,而不是一个实际的 MyClasses 列表。
【问题讨论】:
-
也许你应该试试queries pub,它的灵感来自微软的 LINQ
标签: dictionary flutter dart