我有两个对象,一个叫做
EstimateItem
,另一个叫做Part
(Part
类是继承自Realm的Object
类)。一个EstimateItem
可以有多个Part
。class EstimateItem {
var parts: [Part]?
}
有一个EstimateItem
数组,每个实例中的Part
数量不同。
+--------------------------------+---------------------------------+
| EstimateItem | Parts |
+--------------------------------+---------------------------------+
| Line Item 1 - RnR WDH - Twins | Epoxy / Wood for lami |
| (single) | |
| | |
| Line Item 2 - RnR WDH - Twins | Epoxy / Wood for lami |
| (double) | |
| | |
|Line Item 3 - Install sash lock |Epoxy / Wood for lami / Sash lock|
+--------------------------------+---------------------------------+
我需要按照特定的 Part
对它们进行分组。应该长成这个样子。
我该怎么做?
当部件附加到单个项目时,我无法想出一种方法来完成此操作,因此我尝试将它们全部排列在一个(part: Part, item: EstimateItem)
元组数组中。
var groups = [(part: Part, item: EstimateItem)]()
for item in estimateItemsArray {
if let parts = item.parts {
for part in parts {
groups.append((part, item))
}
}
}
// Epoxy - RnR WDH - Twins (single)
// Wood for lami - RnR WDH - Twins (single)
// Epoxy - RnR WDH - Twins (double)
// Wood for lami - RnR WDH - Twins (double)
// Epoxy - RnR WDH - Twins (single)
// Wood for lami - RnR WDH - Twins (single)
// Sash lock, traditional - Install sash lock
然后将其分组。
但我仍然卡住了。而且我觉得我过于复杂化了,想知道是否有更简单、更符合Swift风格的方法来完成这个任务。
var parts : [Part]
这样? - luk2302estimateItemsArray
的项目数组。在每个项目中,都有像您提到的部件数组。 - Isuru