Ane*_*ees 4 arrays higher-order-functions swift
我只有 Swift 的基础知识。我想var dataSource:[[CustomModel?]]?变成[CustomModel].
我尝试了以下方法
我收到错误
无法将类型“[FlattenSequence<[[CustomModel?]]>.Element]”(又名“Array<Optional< CustomModel >>”)的值转换为预期参数类型“[CustomModel]”
您需要首先使用 flatMap{} 展平嵌套数组,然后为了获取非可选值,请使用 CompactMap{}。假设输入数组是 [[Int?]]
let value:[Int] = dataSource.flatMap{$0}.compactMap{ $0 } //Correct
Run Code Online (Sandbox Code Playgroud)
另一个选项会报错 -
let value:[Int] = dataSource.flatMap{ $0 } ?? [] //Error
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1984 次 |
| 最近记录: |