加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift2 – 在Swift中过滤字典数组

发布时间:2020-12-14 04:29:15 所属栏目:百科 来源:网络整理
导读:我有一个带字典的数组示例: ( { Email = "kate-bell@mac.com"; Name = "Kate Bell"; Number = "(555) 564-8583"; },{ Email = "d-higgins@mac.com"; Name = "Daniel Higgins"; Number = "555-478-7672"; }) 我想根据密钥“名称”过滤这个字典 func searchBa
我有一个带字典的数组示例:

(
        {
        Email = "kate-bell@mac.com";
        Name = "Kate Bell";
        Number = "(555) 564-8583";
    },{
        Email = "d-higgins@mac.com";
        Name = "Daniel Higgins";
        Number = "555-478-7672";
    }
)

我想根据密钥“名称”过滤这个字典

func searchBar(searchBar: UISearchBar,textDidChange searchText: String) {
    let predicate = NSPredicate(format:"Name == %@",searchText)
    let filteredArray = (arrContact as NSMutableArray).filteredArrayUsingPredicate(predicate)
    print(filteredArray)
    if(filteredArray.count == 0){
                searchActive = false;
            } else {
                searchActive = true;
            }
            tblData.reloadData()
 }

我总是从上面的swift代码得到空数组.请帮我解决这个问题.谢谢

解决方法

试试这个swift 3

func searchBar(_ searchBar: UISearchBar,textDidChange searchText: String) {

    // Put your key in predicate that is "Name"
    let searchPredicate = NSPredicate(format: "Name CONTAINS[C] %@",searchText)
    let array = (arrContact as NSArray).filtered(using: searchPredicate)

    print ("array = (array)")

    if(array.count == 0){
        searchActive = false;
    } else {
        searchActive = true;
    }
    self.aTable.reloadData()
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读