2016-02-17 2 views
-1

привет Я являюсь новым в Swift и пытаюсь реализовать панель поиска в виде таблицы. поэтому я последовал за одним учебником по Youtube и правильно реализовал учебник. Но у меня есть некоторые проблемы с моими данными. Как и в руководстве данные были в NSArray и моя исходит от веб-сервиса и его в NSDictionaryСловарь фильтров В Swift

Так Мои данные сохраняются в 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 и переменной ДИКТ

+1

Когда вы получаете словарь от своего веб-сервиса, загрузите его в массив структур. Словари неупорядочены и не работают с табличными представлениями – Paulw11

+1

Разбирайте словарь в пользовательские объекты. Не работайте со словарями, работайте с объектами. – Sulthan

+0

@ Paulw11 Что вы подразумеваете под неупорядоченным? средние данные не сортируются – hellosheikh

ответ

1

Вы можете хранить ключи словаря до объекта Array и использовать его в функции.

var filterTableData = [String]() 
var tableData = Array(dict.keys) 
Смежные вопросы