Iphone 从swift 3中解析的数据进行搜索

Iphone 从swift 3中解析的数据进行搜索,iphone,swift,Iphone,Swift,我有一个struct商人,因为我有一个成员帖子,它是字典类型,我有名字字段。所以,我想筛选以在textfield中输入的一些文本开头的名称(范围textfield委托中的shouldChangeCharacters)。如何在这个场景中使用谓词。 例如:我有六个名字“Pro shop”、“table”、“Pro merchnat”、“Football”、“Shop2”、“mobile”。然后我输入“pr”,然后它会给我结果“Pro shop”,“Pro merchnat” 这是我的代码,我想做的是

我有一个struct商人,因为我有一个成员帖子,它是字典类型,我有名字字段。所以,我想筛选以在textfield中输入的一些文本开头的名称(范围textfield委托中的shouldChangeCharacters)。如何在这个场景中使用谓词。 例如:我有六个名字“Pro shop”、“table”、“Pro merchnat”、“Football”、“Shop2”、“mobile”。然后我输入“pr”,然后它会给我结果“Pro shop”,“Pro merchnat”

这是我的代码,我想做的是

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {

    for item in merchantArr {
         var filteredMerchant = merchantArr.filter{((($0[item] as![String:Any])["post"] as! [String:Any])["name"] as! String).contains(string)}
    }
   return true
}
试试这个

var filteredMerchant = merchantArray.filter{((($0["merchant1414124"] as![String:Any])["post"] as! [String:Any])["name"] as! String).contains("pr")}

你想实现搜索吗?或排序?我想代表姓名执行搜索我无法在您的代码中找到任何姓名字段post dictionary中的姓名字段,因为我没有创建任何结构。一如既往,不要在Swift中使用
NSDictionary
。你在和强悍的体制抗争。使用本机Swift
字典
过滤器
功能当我添加此行代码时,我正在获取编译错误“由于信号:分段错误:11导致命令失败”。您在哪里添加此代码?你能扩展你的代码吗。因此,我可以告诉您将此代码或alternativeRock放在何处。很抱歉,我忙于其他部分。以下是我正在做的代码func textField(utextfield:UITextField,shouldchangeCharactersinrange:NSRange,replacementString:string)->Bool{for merchantArr中的项目{var filteredMerchant=merchantar.filter{($0[item]as![String:Any])[“post”]as![String:Any])[“name”]as!String.contains(String)}}}}}return true}@RahulGupta将代码添加到问题中。这样更容易阅读。永远不要在注释部分添加代码。
var filteredMerchant = merchantArray.filter{((($0["merchant1414124"] as![String:Any])["post"] as! [String:Any])["name"] as! String).contains("pr")}