过滤字典在Swift中

时间:2016-02-17 21:10:29

标签: ios swift nsarray nsdictionary

你好,我是Swift的新手,并尝试在表视图上实现搜索栏。所以我在Youtube上关注了一个教程并正确实现了教程。但是我在使用我的数据时遇到了一些问题。在教程中,数据位于NSArray,而我的数据来自网络服务及其NSDictionary

所以我的数据保存在NSDictionary中,如果我必须访问变量,我就这样做

cell.countryNameLabel.text = (((dict["\(indexPath.item)"] as?NSDictionary)!["Countries"] as?NSDictionary)!["name"] as?NSString)! as String

好的在教程中他做过类似的事情

 var filterTableData = [String]()
   var tableData = ["one","two","three"]


 func updateSearchResultsForSearchController(searchController: UISearchController) {
       filterTableData.removeAll(keepCapacity: false)

        let searchPredict = NSPredicate(format: "SELF CONTAINS[c] %@", searchController.searchBar.text!)
        let array = (tableData as NSArray).filteredArrayUsingPredicate(searchPredict)
        filterTableData = array as! [String]
        self.tableView.reloadData()
    }

现在我想知道如何实现这一点,因为我将数据存储在NSdictionary中且变量是 dict

1 个答案:

答案 0 :(得分:1)

您可以将字典的键存储到Array对象 并在函数中使用它。

var filterTableData = [String]()
var tableData = Array(dict.keys)