filteredArrayUsingPredicate在swift Array中不存在

前端之家收集整理的这篇文章主要介绍了filteredArrayUsingPredicate在swift Array中不存在前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有“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

原文链接:https://www.f2er.com/swift/321334.html

猜你在找的Swift相关文章