简体   繁体   English

在swift中来自服务器的字典过滤器数组中遇到麻烦

[英]Having trouble in filter array of dictionaries coming from server in swift

The dictionary coming from server is 来自服务器的字典是

{
    data = ({
        email = "a123@gmail.com";
        phone = 9804504884;
        "user_id" = 11;
        username = abcd;
    });
}

var dataArray:NSArray = dict.objectForKey("data") as! NSArray
println("names = ,\(dataArray)");
var pre:NSPredicate = NSPredicate(format: "username CONTAINS[c] a")
var result:NSArray = dataArray.filteredArrayUsingPredicate(pre)
println("names = ,\(result)");

I am always getting result blank result array from this swift code. 我总是从这个快速代码获得结果空白结果数组。 Please help me to resolve this issue. 请帮我解决这个问题。 Thanks 谢谢

Do it like this, 像这样做,

let json = try! NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.AllowFragments) as! NSDictionary
let predicate = NSPredicate(format: "username CONTAINS[C] 'a'")
if let filteredArray = json["data"]?.filteredArrayUsingPredicate(predicate) {
   // do something with array
}

Note you should wrap your string inside single quotes '' . 请注意,您应该将字符串包装在单引号''中

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM