[swift] Closure
2023. 2. 22. 13:43ㆍ👩🏻💻 ios 앱개발 ( swift )
728x90
closure : 이름이 없는 메소드 ***유용한 기능
//두 수를 곱하는 closure
//파라미터의 이름이 따로 없음
//var multiplyClosure: (Int, Int) -> Int = { (a: Int, b: Int) -> Int in
// return a*b
//}
////생략가능한 부분들 생략
//var multiplyClosure: (Int, Int) -> Int = {$0 * $1}
//이정도로 생략하는게 적절
var multiplyClosure: (Int, Int) -> Int = {a, b in
return a*b
}
//이정도로 생략하는게 적절
var multiplyClosure: (Int, Int) -> Int = {a, b in
return a*b
}
let result = multiplyClosure(4,2)
func operateTwoNum(a: Int, b: Int, operation: (Int,Int) -> Int) -> Int {
let result = operation(a,b)
return result
}
operateTwoNum(a: 4, b: 2, operation: multiplyClosure)
var addClosure: (Int, Int) -> Int = {a,b in
return a+b
}
operateTwoNum(a: 4, b: 2, operation: addClosure)
operateTwoNum(a: 4, b: 2, operation: {a, b in
return a/b
})
//closure 장점 : 원하는 동작을 끼워넣을 수 있다. 실무에서 많이 사용
//input, output이 없는 closure
let voidClosure: () -> Void = {
print("iOS Developer !!")
}
voidClosure() //주의 ! () 있어야됨
swift에서 closure는 자주등장함!
잘 알아둬야됨 ><
'👩🏻💻 ios 앱개발 ( swift )' 카테고리의 다른 글
[swift] Class vs. Structure (0) | 2023.02.27 |
---|---|
[swift] Closure & Collection **연습하기(reduce, filter, map) (3) | 2023.02.24 |
[swift] Collection (1) | 2023.02.17 |
[swift] optional (0) | 2023.02.16 |
[ swift ] Function (0) | 2023.02.14 |