我很难找到一种循环JSON数据的方法来查找字符串匹配。我在每行中有超过90个值,所以我不想使用我已注释掉的行[“”]方法。
我收到错误:输入'Element'(又名'AnyObject')不符合协议'SequenceType'。
所以我认为这是因为JSON数据不适用于 “for(key,value)in row”我正在使用的方法。我所有的搜索都建议使用row [“”]。
非常感谢任何帮助!
func searchBar(searchBar: UISearchBar, textDidChange searchText: String) {
for row in result {
for (key,value) in row {
//let value = row["city"] as! String
if value.lowercaseString.containsString(searchText.lowercaseString){
print("\(value) matches \(searchText)")
}
}
}
}
数据片段(开头和结尾):
{
0 = 469347;
1 = 20;
10 = "2015-09-16";
11 = "2015-09-18";
12 = 1;
13 = 6;
14 = "$250 free fuel against receipts";
15 = "";
....
transmission = Manual;
tv = 0;
"tyre_preassure" = "";
"unique_key" = 98fd557e5988ea0d66cfaf9cf2742789;
"vehicle_type" = "3 Berth Hitop";
"vehicle_type_id" = 219;
"waste_water" = "";
width = "";
year = "";
}
{
...
}
答案 0 :(得分:0)
假设您的字典仅包含String
的每个键值,我认为您不需要嵌套循环来执行此操作。试试这个
for (key,value) in result {
let myString = value as! String
if myString.lowercaseString.containsString(searchText.lowercaseString){
print("\(myString) matches \(searchText)")
}
}