美文网首页
Swift 5.2新特性之Key Path Expression

Swift 5.2新特性之Key Path Expression

作者: 问问你是谁 | 来源:发表于2020-04-22 12:48 被阅读0次

3月24日,当新冠肺炎席卷全球的时候,Swift 5.2发布了。这个版本主要是在编译诊断、debug稳定性等方面改善了开发者体验,在语言层面的改动不多。这里先简单聊聊“Key Path Expressions as Functions”这一新特性。

我们先来简单创建一个User struct:

struct User {
    let email: String
    let isAdmin: Bool
}

现在,假设我们有个user数组,想要获取一个email数组,我们可以这样做:

users.map { $0.email }

当然也可以自己遍历,但显然map一下又快又简洁。但可不可以更简洁一点?于是上面提到的这个特性就被提出来了,中文大概意思就是:用Key Path的表达式来代替{ $0.email }这个函数。直接看替换后的样子:

users.map(\.email)

是不是更简洁一点?
接下来,假如我们又想获得每个用户的邮箱的长度怎么办呢?继续在email的key path基础上获取下count就可以了:

users.map(\.email.count)

相关文章

网友评论

      本文标题:Swift 5.2新特性之Key Path Expression

      本文链接:https://www.haomeiwen.com/subject/xctiihtx.html