如何基于多个选项过滤json数组

时间:2018-12-19 20:24:55

标签: ios arrays json swift swift4

我想基于多个开关/复选框过滤一个数组

这就是我所拥有的:

  • 其中具有TableView的UIViewController

  • 我使用Alamofire在NSArray中获取json请求

  • 我用该数组填充TableView

这就是我想要做的(但不知道如何到达):

  • 我要单击显示弹出窗口的按钮
  • 此弹出窗口将包含6-7个开关/复选框和一个提交按钮
  • 我将检查一个或多个开关,然后单击“提交”按钮,使我可以返回带有过滤数据的上一个控制器。

我的案件示例:

我有一个要基于这些过滤器过滤的餐馆列表:

1。

Screen Shot

2。

Screen Shot

PS:根据餐厅名称,搜索栏可以正常工作。

提前谢谢

1 个答案:

答案 0 :(得分:1)

您可以根据需要使用filter函数,例如,如果您在array中有响应,并且每个对象都具有type键,那么

let filteredArray = array.filter({ $0.type == "wifi" || $0.type == "parking" || $0.type == "debitcard" || $0.type == "alcohol" || $0.type == "climatisation" || $0.type == "terrace"})

现在用filteredArray填充表格视图