SwiftUI - 在 SwiftUI 中对显示的 JSON 文件进行排序,分节或排序
Posted
技术标签:
【中文标题】SwiftUI - 在 SwiftUI 中对显示的 JSON 文件进行排序,分节或排序【英文标题】:SwiftUI - Sort a display a JSON file in SwiftUI with sections, either in sections or sorted 【发布时间】:2020-03-13 10:47:02 【问题描述】:我有一个 JSON 文件,内容如下:
[
"id":"s1",
"group":"Fruits",
"items":[
"id":1,
"name":"Apple"
,
"id":2,
"name":"Pineapple"
,
]
,
"id":"s2",
"group":"Vegetables",
"items":[
"id":3,
"name":"Carots"
,
"id":4,
"name":"Cucumber"
]
,
]
我想给用户两个选择:
在他们的组中显示他们的部分 显示所有分类的蔬菜和水果这里是两个代码sn-ps和结果:
// sorted in sections
List
ForEach(itemData) section in
Section(header: Text(section.group))
ForEach(section.items) item in
ItemRow(item: item)
结果按预期按部分排序:
水果
苹果 菠萝蔬菜
胡萝卜黄瓜
// items without sections
List
ForEach(itemData) section in
ForEach(section.items) item in
ItemRow(item: item)
结果如预期未排序:
苹果 菠萝 胡萝卜 黄瓜如何按“名称”对第二个选项进行排序和显示?
【问题讨论】:
【参考方案1】:试试这个:(我不知道你是怎么称呼你的变量的,所以我把它叫做“name”。用你的变量名替换它)
List
ForEach(itemData.sorted $0.name < $1.name ) section in
Section(header: Text(section.group))
ForEach(section.items.sorted $0.name < $1.name ) item in
ItemRow(item: item)
【讨论】:
以上是关于SwiftUI - 在 SwiftUI 中对显示的 JSON 文件进行排序,分节或排序的主要内容,如果未能解决你的问题,请参考以下文章