
34
|
第
1
章
在为一个任务添加依赖条件时,我们用到了
addDependency
方法。这个方法并不会
导致任务被执行,仅仅是将两个任务关联起来。
一旦设置完依赖条件之后,我们就可以将任务添加到队列中,这个时候添加的顺序
并不重要。任务将以他们的依赖关系来决定执行顺序,当一个任务存在依赖条件的
时候,必须等待所有的依赖条件执行完成才会得到执行。
1.16
通过闭包进行数组的过滤
问题
已有一个数组,我们想根据一定的规则来过滤它。
解决方案
通过
filtered
方法,能够对数组中的元素逐一应用某种规则,当符合条件时,将该
元素放到新数组中返回:
let array = ["One", "Two", "Three", "Four", "Five"]
print("Original array: \(array)")
let filteredArray = array.filter { (element) -> Bool in
if element.range(of: "e") != nil {
return true
} else {
return false
}
}
print("Filtered array: \(filteredArray)")
讨论
传递给
filtered
方法的闭包将会多次调用。每调用一次,它就会从数组中取出一个
元素放到闭包中,如果这个闭包计算结果为
true
,这个元素将放入即将返回的新
数组中。