当前位置: 首页 > 面试题库 >

SwiftArray中不存在filteredArrayUsingPredicate

时衡虑
2023-03-14
问题内容

我在数组中有“ 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"
    })

两者之间的区别在于,第一种是使用结尾闭包语法,速记参数名称,类型推断和隐式返回。您可以在Apple的Swift文档中阅读有关闭包的更多信息。



 类似资料:
  • 问题内容: 这些查询中哪个更快? 不存在: 或不在: 查询执行计划说他们都做同样的事情。如果是这样,建议使用哪种形式? 这基于NorthWind数据库。 问题答案: 我始终默认为NOT EXISTS。 目前执行计划可能是相同的,但是如果将来更改任一列以允许NULLs,则该NOT IN版本将需要做更多的工作(即使NULL数据中实际上没有s),并且NOT INifNULL的语义也存在。无论如何都不太可

  • 我在JDK5中使用以下API导入sun.text.normalizer: 公共静态字符串分解(String str、boolean compat、int选项) 公共静态final int getClass(int ch) 公共静态字符串规范化(字符串str、Mode Mode、int选项)

  • 类App\Http\Controller\HomeController不存在 家庭控制器 web.php 一开始一个新的授权控制器出现,我把KG关了,去掉了

  • 试图配置两个内存 以及服务业。亚马尔: 但是对于服务中的这四个参数,: 服务“App\Services\Emailer”依赖于不存在的参数“swiftmailer.mailer.spooler”。。。 为什么这个配置不起作用?

  • 问题内容: 想知道是否有人可以通过此查询为我提供一些帮助: 我只想得到计数(已重命名)等于1的结果。此查询出现错误: 但是该列 应该 存在,对吗?有人可以协助吗?谢谢! 问题答案: 您不能在WHERE子句中引用列别名。 在传统SQL中,最早可以引用列别名的是子句。但是MySQL和SQL Server允许在and子句中进行访问。

  • 问题内容: 我从谷歌搜索开始,发现这篇文章讨论了互斥表。 我有一张约有1400万条记录的表。如果我想添加更多相同格式的数据,是否有一种方法可以确保在不使用一对查询的情况下我要插入的记录不存在(即,要检查的一个查询和要插入的一个是结果集是空)? 如果字段上存在约束,是否可以保证该约束将失败? 似乎 只有 一个约束,当我通过php发出插入命令时,脚本就发出了嘶哑的声音。 问题答案: 采用 见http: