filteredArrayUsingPredicate在swift Array中不存在
发布时间:2020-12-14 06:09:52 所属栏目:百科 来源:网络整理
导读:我有“UserDetails”结构对象在数组。我想从数组中过滤对象。但是在Swift数组中没有“filteredArrayUsingPredicate”的选项。 我的数组创建 var arrayOfUsers:UserDetails[] = UserDetails[]() 我的userdetails代码是 struct UserDetails{ var userName:Stri
我有“UserDetails”结构对象在数组。我想从数组中过滤对象。但是在Swift数组中没有“filteredArrayUsingPredicate”的选项。
我的数组创建 var arrayOfUsers:UserDetails[] = UserDetails[]() 我的userdetails代码是 struct UserDetails{ var userName:String var userID:String var userAge:String func userDescription()->String{ return "name " + userName + "age " + userID } } 我的代码创建对象 for a in 1...1000{ var user:UserDetails = UserDetails(userName: "name",userID: String(a),userAge: "22") arrayOfUsers.append(user) } 现在我想过滤arrayOfUsers哪一个有userID“1”。
Swift数组有一个.filter方法,它接受一个闭包 – 这样做:
let filteredArray = arrayOfUsers.filter() { $0.userID == "1" } 可以以多种方式简化闭合。关闭的完整声明看起来更像这样: var filteredArray = arrayOfUsers.filter( { (user: UserDetails) -> Bool in return user.userID == "1" }) 两者之间的区别是,第一个使用尾随闭包语法,简写变量名,类型推断和隐式返回。你可以读more about closures in Apple’s Swift documentation。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |