在SwiftUI中将For转换为ForEach循环



转换

时有问题
for(key, value) in Array(self.categoriesList.subCategoryList).sorted(by: {$0.0 < $1.0}){
}

ForEach(){response in
}

原因是第一个for循环是不允许在'ViewBuilder'为'SwiftUI',所以我已经尝试过这个,但仍然没有运气。有什么指导吗?到目前为止,我已经尝试过了,但我得到一个错误代码

在'ForEach'上引用初始化器'init(_:id:content:)'要求'[Int: [Int: String]]'符合'RandomAccessCollection'

我正在尝试for循环的字典是这个。

self.categoriesList.subCategoryList = Dictionary<Int,Dictionary<Int,String>>()
ForEach (self.categoriesList.subCategoryList, id: .self){subCategory in
}

如果您希望在ForEach中获得keyvalue对,您可以这样做:

ForEach (self.categoriesList.subCategoryList.map { ($0, $1) }, id: .1){ (key, value) in

在原Dictionary上使用map将其拆分为键/值对。

相关内容

  • 没有找到相关文章

最新更新