gpt4 book ai didi

swift - filteredArrayUsingPredicate 在 swift 数组中不存在

转载 作者:IT王子 更新时间:2023-10-29 04:57:55 24 4
gpt4 key购买 nike

我在数组中有“UserDetails”结构对象。我想从数组中过滤对象。但是 Swift 数组中没有“filteredArrayUsingPredicate”选项。

我的数组创建

var arrayOfUsers: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 用户 ID 为“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 .

关于swift - filteredArrayUsingPredicate 在 swift 数组中不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24382580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com