当前位置:当前位置:首页 >域名 >Swift 5.2 将 KeyPaths 用作函数 正文

Swift 5.2 将 KeyPaths 用作函数

[域名] 时间:2025-11-04 13:19:31 来源:益强IT技术网 作者:IT科技类资讯 点击:112次

本文转载自微信公众号「Swift社区」,用作作者Swift社区。函数转载本文请联系Swift社区公众号。用作

Swift 5.2 的函数新功能之一:能够将 KeyPaths 用作函数。如果您只在闭包中返回某个 KeyPath 的用作值,这将非常有用。函数

在 Swift 5.2 之前:

struct Student {   let id: Int   let name: String   let age: Int    let grade: Double } func getStudentsName(from students: [Student]) -> [String] {   return students.map { $0.name } } 

此代码使用 map(_ :) 通过将数组中的用作每个学生返回 $0.name 来将 Student 对象的数组转换为学生名字 String 数组,云服务器这是函数我们常用的一种写法。

在 Swift 5.2 中,用作可以写成(需要 Xcode 11.4 beta 以上):

func getStudentsName(from students: [Student]) -> [String] {     return students.map(.name) } 

这样的写法看起来非常清晰,也很简便。函数和 map(_ :) 一样 filter(_ :),用作 reduce(_ :) 等函数也可以直接这样写,比如我们想获取所有年龄大于21岁的函数学生的名字数组。WordPress模板

extension Student {     var isTwentyOneOrOlder: Bool {         return age >= 21     } } func getStudentsName(from students: [Student]) -> [String] {     return student.filter(.isTwentyOneOrOlder)                   .map(.name) } 

写成这样并不是用作必须的,只是函数在某些情况能让代码看起来更简便,但是用作有时候则不然,所以可以根据需要选择是否使用。

b2b供应网

(责任编辑:应用开发)

    相关内容
    精彩推荐
    热门点击
    友情链接