【发布时间】:2020-04-21 19:38:22
【问题描述】:
我正在编写一个函数,该函数将挖掘对象层次结构的最深层次并更新特定值。作为参考,这是常规迭代的混乱程度:
func selectedStateUpdated(data: MyObject, tabId: String, rowId: String){
for currIndex in 0..<self.model.data[0].data[0].filters.count{
if(self.model.data[0].data[0].filters[currIndex].headerName == data.headerName){
for tabIdx in 0..<model.data[0].data[0].filters[currIndex].data.count {
if(self.model.data[0].data[0].filters[currIndex].data[tabIdx].id == tabId){
for rowItemIdx in 0..<self.model.data[0].data[0].filters[currIndex].data[tabIdx].data.count {
if(self.model.data[0].data[0].filters[currIndex].data[tabIdx].data[rowItemIdx].id == rowId){
self.model.data[0].data[0].filters[currIndex].data[tabIdx].data[rowItemIdx].isSelected.toggle()
}
}
}
}
}
}
}
深入挖掘我的数据模型并更新特定属性的最佳方法是什么?我正在尝试将驻留在此函数类中的model 对象作为全局对象进行更新。鉴于我的对象模型中的可迭代对象在 for 循环中是不可变的,有没有更好的方法来解决这个问题,同时确保我迭代到正确的
【问题讨论】:
-
不要写
0..<array.count。见github.com/amomchilov/Blog/blob/master/…