required
수식어를 표시해야한다.protocol SomeProtocol {
init(someParameter: Int)
}
class SomeClass: SomeProtocol {
required init(someParameter: Int) {
// initializer implementation goes here
}
}
스위프트의 대표적인 고차함수로 맵(Map), 필터(Filter), 리듀스(Reduce)가 있다.
let array = [0, 1, 2, 3]
let newArray = array.map { $0 * 5 }
print(newArray) //[0, 5, 10, 15]
let dict: [String: Int] = [ "a": 1, "b": 2 ]
dict.map { (key, value) in
return "\(key)=\(value)" // ["a=1", "b=2"]
}
let evenValues = values.filter({ (v: Int) -> (Bool) in
if v % 2 == 0 { return true }
return false
})
println(evenValues) //[2, 4]
let dict: [String: Int] = [ "a": 1, "b": 2 ]
let value2 = dict.filter { (key, value) in
return (value == 2)
}
print(value2) // ["b": 2]
let sumValues = values.reduce(0, combine: { (v1: Int, v2: Int) -> (Int) in
return v1 + v2
})
println(sumValues) // 15