【发布时间】:2021-11-18 05:21:57
【问题描述】:
如何过滤以下 JSON 数组以排除值 type = quiet 以仅启动 test.testid 输入其他所有内容的视图控制器。
目前正在做以下事情:
do {
let nav = try JSONDecoder().decode([TestStruct].self, from: data)
self.viewControllers = nav.map { test -> UIViewController in
let selected = UIImage(named: "Tab4_Large")!
let normal = UIImage(named: "Tab4_Large")!
let controller = storyboard!.instantiateViewController(withIdentifier: String(test.testid))
controller.view.backgroundColor = UIColor.white
controller.floatingTabItem = FloatingTabItem(selectedImage: selected, normalImage: normal)
return controller
}
JSON 解码结构:
struct TestStruct: Decodable {
let testname: String
let type: String
let testid: Int
}
需要排除 type = "quiet",但在 nav.map 中包含其余部分
JSON 示例:
[
{
"testname": "Teller",
"type": "load",
"testid": 2
},
{
"testname": "Manager",
"type": "load",
"testid": 8
},
{
"testname": "Tester",
"type": "quiet",
"testid": 8
}
]
【问题讨论】: