BoS*_*oud 3 arrays array-filter swift xcode6
我有一个数组字典示例:
[{
"CATEGORYNAME" = "name0";
"CATEGORYSUBID" = 2;
"ID" = 1;
}, {
"CATEGORYNAME" = "name1";
"CATEGORYSUBID" = 2;
"ID" = 2;
}, {
"CATEGORYNAME" = "name2";
"CATEGORYSUBID" = 0;
"ID" = 3;
}]
Run Code Online (Sandbox Code Playgroud)
我曾经在Objective C中过滤它像这样
JSON_data = [[[Global SharedData]Categorys] filteredArrayUsingPredicate:
[NSPredicate predicateWithFormat:@"(CATEGORYSUBID == %@)", Filter]];
Run Code Online (Sandbox Code Playgroud)
我尝试使用阵列过滤器,但没有成功
var JSON_data = Global.SharedData().Categorys
JSON_data = JSON_data.filter( ?????
Run Code Online (Sandbox Code Playgroud)
JSON_data包含我用Printin打印的所有数据
naz*_*naz 11
过滤字典很简单,如下所示.我们筛选低于30岁的年龄.
var visitors = [["age" : 22], ["age" : 41], ["age" : 23], ["age" : 30]]
var filteredVisitors = visitors.filter({
$0["age"] < 30 //access the value to filter
})
println(filteredVisitors)
//[["age" : 22], ["age" : 23]]
Run Code Online (Sandbox Code Playgroud)
更多信息:过滤字典或对象属性的Swift数组
这看起来只是一个如何翻译的简单问题.您最好的选择是通过WWDC的各种会话,但字面翻译是:
let categories = Global.SharedData().Categorys()
JSON_data = categories.filter({
if let subid = $0["CATEGORYSUBID"] {
return subid == filter
} else {
return false
}
})
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,您需要发布有关Global,SharedData,Categorys和JSON_data的更多信息.