gpt4 book ai didi

ios - 基于 json 的搜索栏过滤器

转载 作者:行者123 更新时间:2023-11-28 15:01:22 25 4
gpt4 key购买 nike

我的 tableviewcell 有一个名称值,就像这样......

for asd in orderDetails {

if let jsonStr = asd.value(forKey: "customerJson") as? String {

let data = jsonStr?.data(using: String.Encoding.utf8, allowLossyConversion: false)!

do {
if let json = try JSONSerialization.jsonObject(with: data!) as? [String: Any] {
for item in json {
if item.key == "first_Name" {
cell.nameLabel.text = item.value as? String //ASSIGNED HERE
}

}
}

} catch let error as NSError {
print("Failed to load: \(error.localizedDescription)")
}
}
}

现在我想根据这个名字在搜索栏上搜索。在搜索直接提到核心数据属性的其他情况时,我做了类似这样的事情,效果很好..

    filtered = self.newProdDetails.filter({( data : NewProduct) -> Bool in
return (data.name?.lowercased().contains(searchText.lowercased()))! //Here the entity NewProduct has an attribute name
})

但在当前情况下,该属性是一个名为 customer_json 的 json 字符串,我想根据 first_name..

进行过滤
customer_json={
"mobile_number”:”9876543210”,
"first_name”:”testName”,
"last_name”:”testLastName”,
"seller_id":"93"
}

最佳答案

在帮助下简单地将您的 JSON 解析为数组或字典 a/c 到 json :

let arrayJson =  JSONSerialization.jsonObject(with:....

.....

然后像这样简单地在数组上应用搜索:

 let filterArr = arrayJson.filter {
return (($0["first_name"] as! String).lowercased().contains(searchText.lowercased()))
}

关于ios - 基于 json 的搜索栏过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48878698/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com