}
}
return false
}
func lessThanTen(number: Int) -> Bool {
return number < 10
}
var numbers = [20, 19, 7, 12]
hasAnyMatches(numbers, lessThanTen)
3.2闭包
本质来说,函数是特殊的闭包,Swift中可以利用{}声明匿名闭包:
复制代码numbers.map({
(number: Int) -> Int in
let result = 3 * number
return result
})
当闭包的类型已知时,可以使用下面的简化写法:
复制代码numbers.map({ number in 3 * number })
此外还可以通过参数的位置来使用参数,当函数最后一个参数是闭包时,可以使用下面的语法:
复制代码 sort([1, 5, 3, 12, 2]) { $0 > $1 }
4.类和对象
4.1创建和使用类
Swift使用class创建一个类,类可以包含字段和方法:
复制代码class Shape {
var numberOfSides = 0
func simpleDescription() -> String {
return "A shape with (numberOfSides) sides."
}
}
创建Shape类的实例,并调用其字段和方法。
复制代码
var shape = Shape()
shape.numberOfSides = 7
var shapeDescription = shape.simpleDescription()
通过init构建对象,既可以使用self显式引用成员字段(name),也可以隐式引用(numberOfSides)。
复制代码class NamedShape {
var numberOfSides: Int = 0
var name: String
init(name: String) {
self.name = name
}
func simpleDescription() -> String {
return "A shape with (numberOfSides) sides."








