【问题标题】:Search within dictionary in Swift在 Swift 中的字典中搜索
【发布时间】:2016-07-02 06:20:22
【问题描述】:

我从 JSON 响应中收到 NSDictionary

如何在ArraysNSDictionary 中进行搜索。每个数组都包含一个NSDictionary。我想搜索特定的赌场名称,但我也想获取与之关联的地址字段。我怎样才能在swift ios中获得它。

JSON 响应如下

{
    "success": [
        {
            "casino_id": "2",
            "casino_name": "cas",
            "address": "add",
            "distance": "0.19084827576745822"
        },
        {
            "casino_id": "4",
            "casino_name": "eeee",
            "address": "adressdd",
            "distance": "0.12319974564234398"
        }
    ]
}

下面的搜索代码

var casinoarray = NSArray()  // CONTAINS THE JSON 
var resultsarray = NSArray() // USED FOR FILTERED ARRAY    
let resultPredicate = NSPredicate(format: "self.casino_name == %@", searchText)

    resultsarray = casinoarray.filteredArrayUsingPredicate(resultPredicate)
    tableView.reloadData()   
    print(resultsarray)

请帮帮我。

TIA

【问题讨论】:

  • 首先你必须尝试使用​​ SwiftyJSON 或 ObjectMapper 来映射这个 JSON。试试看,然后告诉我们
  • @UmairAfzal 我是新手,请告诉我映射这个 json 意味着什么。
  • @UmairAfzal 您也可以手动映射它。期望的结果是使用对象而不是字典。不需要外部库。

标签: ios json swift nsdictionary


【解决方案1】:

你可以这样使用

        let prdicate:NSPredicate = NSPredicate(format: "self.casino_name contains[c] %@", searchText)

        let filterArray = self.yourArray.filter({
            prdicate.evaluateWithObject($0)
        })
        print(filterArray)

【讨论】:

  • 感谢一百万的建议。我是使用谓词的新手。
猜你喜欢
  • 2015-03-28
  • 2016-03-11
  • 1970-01-01
  • 1970-01-01
  • 2017-10-02
  • 2018-04-14
  • 2016-02-20
  • 1970-01-01
  • 2022-11-20
相关资源
最近更新 更多