在 Swift 中的字典中搜索
Posted
技术标签:
【中文标题】在 Swift 中的字典中搜索【英文标题】:Search within dictionary in Swift 【发布时间】:2016-07-02 06:20:22 【问题描述】:我从 JSON 响应中收到 NSDictionary
如何在Arrays
的NSDictionary
中进行搜索。每个数组都包含一个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 您也可以手动映射它。期望的结果是使用对象而不是字典。不需要外部库。 【参考方案1】:你可以这样使用
let prdicate:NSPredicate = NSPredicate(format: "self.casino_name contains[c] %@", searchText)
let filterArray = self.yourArray.filter(
prdicate.evaluateWithObject($0)
)
print(filterArray)
【讨论】:
感谢一百万的建议。我是使用谓词的新手。以上是关于在 Swift 中的字典中搜索的主要内容,如果未能解决你的问题,请参考以下文章