๐ Day 10 : Closure ( ํด๋ก์ )
๐ก Closure
- Named Closure
- Unnamed Closure
์ด๋ฆ์ด ์๋ ๋ณดํต์ ํจ์๋ Named Closure ์ด๊ณ ,
์ด๋ฆ์ด ์๋ ํจ์๋ค์ unNamedClosure (์ต๋ช ํจ์) ๋ผ๊ณ ํ๋ค.
๋ณดํต ํด๋ก์ ๋ unNamed๋ ํจ์๋ฅผ ๋งํ๋ค.
๐ Closure ํํ์
์ต๋ช ์ด๊ธฐ ๋๋ฌธ์ func๋ผ๋ ํค์๋๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค.
{
(Parameters) -> ReturnType in ์คํ๊ตฌ๋ฌธ
}
๐ String์ ๋ฐํํ๋ Closure
let myName : String ={
// myName์ผ๋ก ๋ค์ด๊ฐ๋ค
return "์ค์ํํธ"
}()
print(myName)
>>> ์ค์ํํธ
๐ Closure ์ ์ ์ดํดํ๊ธฐ
let myRealName : (String) -> String = { (name:String) -> String in
return "๊ฐ๋ฐํ๋ \(name)"
}
print(myRealName("์ค์ํํธ"))
>>> ๊ฐ๋ฐํ๋ ์ค์ํํธ
๐ Locig ์ฒ๋ฆฌ
๐ฌ ๋ฐํ๊ฐ์ ๋ฐ๋ก ์ฒ๋ฆฌํ์ง์๊ณ ๋ก์ง์ ๋ด์ ์ ๋ ์๋ค.
๐ฌ ๋ฐํ๊ฐ์ด ์์ ๊ฒฝ์ฐ Void ๋ก ํํํ๋ค.
ley myRealNameLogic : (String) -> Void = { (name:String) in
print("๊ฐ๋ฐํ๋ \(name)")
}
myRealNameLogic("์ค์ํํธ")
>>> ๊ฐ๋ฐํ๋ ์ค์ํํธ
์ถ์ฒ : ๊ฐ๋ฐํ๋์ ๋๋ฆฌ, ์ ๋๋ฆฌ์ค์ํํธ๊ธฐ์ด๋ฌธ๋ฒ
'๐ iOS > ๊ธฐ์ด๋ฌธ๋ฒ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift ๊ธฐ์ด] ๋ฐ์ดํฐ ํ์ ๊ธฐ๋ณธ (0) | 2022.12.29 |
---|---|
[Swift]11 : ๋งค๊ฐ๋ณ์๋ก์ ํด๋ก์ (0) | 2022.12.06 |
[Swift]09 : Generic (0) | 2022.12.06 |
[Swift]08 : ํจ์ ๋งค๊ฐ๋ณ์ ์ด๋ฆ ์ค์ (0) | 2022.12.04 |
[Swift]07 : Property Observer (0) | 2022.12.03 |