Swift编程的15个技巧(5)

对数组中的每个值执行函数筛选(filter),返回Bool值。在结果数组中,只会返回true值,而不会返回false值。下面我们从ints数组中筛选奇数:

let evenInts = ints.filter { return ($0 % 2 == 0) } print("evenInts: \(evenInts)") // prints: evenInts: [0, 2, 4, 6, 8]

reduce比map和filter更复杂,不过因为非常有用,花时间学习也是有价值的。第一个参数就是第一个reduce值(在下面的案例中为0)。第二个参数是访问之前reduce值和数组现值的函数。在本例中,我们的函数是将之前的函数值简单加到数组的现值中。

let reducedInts = ints.reduce(0, combine: +) print("reducedInts: \(reducedInts)") // prints: reducedInts: 45 // defined another way: let reducedIntsAlt = ints.reduce(0) { (previousValue: Int, currentValue: Int) -> Int in return previousValue + currentValue } print("reducedIntsAlt: \(reducedIntsAlt)") // prints: reducedIntsAlt: 45

通过map,filter,reduce方面的技巧,就能减少筛选时和处理集合时的工作量,并增加可读性,方便以后的人维护。

结论

这份列表来自于我们团队的建议,收集了一些最常用的技巧,其中很多在整个代码库中都很常见。随着Swift这门编程语言的发展,像这样的技巧也在继续增加。我们希望能继续看到Swift的变化,并期待在应用中更多地使用这种语言。

Ubuntu 15.10安装部署Swift开发环境   

Swift 的变化:从 2.2 到 3.0 会带来什么   

Swift 正式开源,同时开源 Swfit 核心库和包管理器  

Apple Swift学习教程   

使用 Swift 构建一个 iOS 的邮件应用  

Swift 2.0开源化   

Linux下搭建Swift语言开发学习环境  

Swift 的详细介绍请点这里 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/cd439da48ebc0babfdbad55c4cef0bf6.html