微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

swift2 – 在Swift中过滤字典数组

我有一个带字典的数组示例:

(
        {
        Email = "[email protected]";
        Name = "Kate Bell";
        Number = "(555) 564-8583";
    },{
        Email = "[email protected]";
        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()
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐