ν΄λ‘μ
ν΄λ‘μ λ μ¬μ©μμ μ½λ μμμ μ λ¬λμ΄ μ¬μ©ν μ μλ λ‘μ§μ κ°μ§ μ€κ΄νΈ{} ꡬλΆλ μ½λμ λΈλμ΄λ€.
μ½κ² λ§νλ©΄ 'μ΄λ¦μ΄ μλ ν¨μ'μ΄λ€. λ°λΌμ ν¨μλ μ΄λ¦μ΄ μλ ν΄λ‘μ λΌκ³ ν μ μλ€.
ν΄λ‘μ λ λ³μλ μμκ° μ μΈλ μμΉμμ μ°Έμ‘°λ₯Ό νλνκ³ μ μ₯ν μ μλ€.
π‘ ν΄λ‘μ μ 3κ°μ§ νν
- μ΄λ¦μ΄ μμΌλ©΄μ μ΄λ€ κ°λ νλνμ§ μμ μ μν¨μμ νν
- μ΄λ¦μ΄ μμΌλ©΄μ λ€λ₯Έ ν¨μ λ΄λΆμ κ°μ νλν μ μλ μ€μ²©λ ν¨μμ νν
- μ΄λ¦μ΄ μκ³ μ£Όλ³ λ¬Έλ§₯μ λ°λΌ κ°μ νλν μ μλ μΆμ½ λ¬Έλ²μΌλ‘ μμ±ν νν
π‘ ν΄λ‘μ μ λ€μν νν
- ν΄λ‘μ λ 맀κ°λ³μμ λ°ν κ°μ νμ μ λ¬Έλ§₯μ ν΅ν΄ μ μΆν μ μκΈ° λλ¬Έμ 맀κ°λ³μμ λ°ν κ°μ νμ μ μλ΅ν μ μλ€.
- ν΄λ‘μ μ λ¨ νμ€μ ννλ§ λ€μ΄μλ€λ©΄ μμμ μΌλ‘ μ΄λ₯Ό λ°ν κ°μΌλ‘ μ·¨κΈνλ€.
- μΆμ½λ μ λ¬μΈμ μ΄λ¦μ μ¬μ©ν μ μλ€.
- νν ν΄λ‘μ λ¬Έλ²μ μ¬μ©ν μ μλ€.
κΈ°λ³Έ ν΄λ‘μ
ν΄λ‘μ μ νν
{ ( 맀κ°λ³μ μ΄λ¦ : 맀κ°λ³μ νμ ) -> λ°ννμ in
ν΄λ‘μ ννμ μ½λ
}
ν¨μμ κ°μ₯ ν° μ°¨μ΄μ μ μ΄λ¦μ΄ μλ μλμ΄λ€. μΈμλ€μ λ£μ μ μκ³ λ°ννμ κΉμ§ μ€μ ν μ μλ€.
κ·Έλ¦¬κ³ ν¨μμ λ΄μ©μ ν΄λΉνλ μνλ΄μ©μ in λ€μμ μ λλ€.
μΌλ°μ μΈ ν¨μ
func add(x: Int,y: Int) -> Int {
return (x+y)
}
print(add(x:10, y:20))
ν΄λ‘μ
let add1 = {(x:Int, y:Int) -> Int in
return (x+y)
}
print(add1(10,20))
νν ν΄λ‘μ
νν ν΄λ‘μ λ ν΄λ‘μ κ° ν¨μμ λ§μ§λ§ argumentλΌλ©΄ λ§μ§λ§ 맀κ°λ³μ μ΄λ¦μ μλ΅ν ν ν¨μ μκ΄νΈ μΈλΆμ ν΄λ‘μ λ₯Ό ꡬνν μ μκ² ν΄μ£Όλ κ²μ΄λ€. ν΄λ‘μ κ° μ‘°κΈ κΈΈμ΄μ§κ±°λ κ°λ μ±μ΄ μ‘°κΈ λ¨μ΄μ§λ€ μΆμΌλ©΄ ννν΄λ‘μ λ₯Ό μ¬μ©νλ©΄ μ’λ€.
// νν ν΄λ‘μ λ―Έμ¬μ©
let onAction = UIAlertAction(title: "On", style: UIAlertAction.Style.default, handler: {
// μ€ν μ½λ
})
// νν ν΄λ‘μ μ¬μ©
let onAction = UIAlertAction(title: "On", style: UIAlertAction.Style.default) {
// μ€ν μ½λ
})
ν΄λ‘μ μ νν κ°μν
λ¬Έλ§₯μ μ΄μ©ν νμ μ μΆ
λ©μλμ μ λ¬μΈμλ‘ μ λ¬νλ ν΄λ‘μ λ λ©μλμμ μꡬνλ ννλ‘ μ λ¬ν΄μΌ νλ€. μ¦, 맀κ°λ³μμ νμ μ΄λ κ°μ, λ°ν νμ λ±μ΄ κ°μμΌ μ λ¬μΈμλ‘μ μ λ¬ν μ μλ€.
ν΄λ‘μ μ νμ μ μΆ
// ν΄λ‘μ μ 맀κ°λ³μ νμ
κ³Ό λ°ν νμ
μ μλ΅νμ¬ νν ν μ μλ€.
let reversed: [String] = names.sorted { (first, second) in
return first > second
}
λ¨μΆ μΈμ μ΄λ¦
μ€μννΈλ μ‘°κΈ λ κ°κ²°νκ² ννν μ μλλ‘ λ¨μΆ μΈμ μ΄λ¦μ μ 곡νλ€.
λ¨μΆμΈμ μ΄λ¦μ 첫λ²μ§Έ μ λ¬μΈμλΆν° $0, $1, $2 μμλ‘ $μ μ«μμ μ‘°ν©μΌλ‘ νννλ€.
λ¨μΆμΈμ ννμ μ¬μ©νλ©΄ in ν€μλλ₯Ό μ¬μ©ν νμλ μλ€.
λ¨μΆμΈμ μ΄λ¦ μ¬μ©
// λ¨μΆ μΈμ μ΄λ¦μ μ¬μ©ν νν
let reserved: [String] = names.sorted {
return $0 > $1
}
μμμ λ°ν νν
ν΄λ‘μ μμλ return ν€μλλ μλ΅ν μ μλ€.
λ§μ½ ν΄λ‘μ κ° λ°ν κ°μ κ°λ ν΄λ‘μ μ΄κ³ ν΄λ‘μ λ΄λΆμ μ€νλ¬Έμ΄ λ¨ νμ€μ΄λΌλ©΄, μμμ μΌλ‘ κ·Έ μ€νλ¬Έμ λ°ν κ°μΌλ‘ μ¬μ©ν μ μλ€.
μμμ λ°ν ννμ μ¬μ©
let reserve: [String] = names.sorted { $0 > $1 }
μ°μ°μ ν¨μ
λΉκ΅ μ°μ°μλ λ κ°μ νΌμ°μ°μλ₯Ό ν΅ν΄ Bool νμ μ λ°νμ μ€λ€.
ν΄λ‘μ λ 맀κ°λ³μμ νμ κ³Ό λ°ν νμ μ΄ μ°μ°μλ₯Ό ꡬνν ν¨μμ λͺ¨μκ³Ό λμΌνλ€λ©΄ μ°μ°μλ§ νκΈ°νλλΌλ μμμ μ°μ°νκ³ λ°ννλ€.
> μ°μ°μ μ μ
public func ><T : Comparable>(lhs: T, rhs: T) -> Bool
> μμ²΄κ° ν¨μμ μ΄λ¦μ΄λ€.
ν΄λ‘μ λ‘μμ μ°μ°μ ν¨μ μ¬μ©
let reversed: [String] = names.sorted(by: >)
κ° νλ
ν΄λ‘μ λ μμ μ΄ μ μλ μμΉμ μ£Όλ³ λ¬Έλ§₯μ ν΅ν΄ μμλ λ³μλ₯Ό νλν μ μλ€.
ν΄λ‘μ λ μ°Έμ‘° νμ
ν΄λ‘μ λ μ°Έμ‘°νμ μ΄λ€. μ¦, ν΄λ‘μ λ₯Ό ν λΉνλ€λ κ²μ ν΄λ‘μ μ λ΄μ©λ¬Ό, μ¦ κ°μ ν λΉνλ κ²μ΄ μλλΌ ν΄λΉ ν΄λ‘μ μ μ°Έμ‘°λ₯Ό ν λΉνλ κ²μ΄λ€.
νμΆ ν΄λ‘μ
ν¨μμ μ λ¬μΈμλ‘ μ λ¬ν ν΄λ‘μ κ° ν¨μ μ’ λ£ νμ νΈμΆλ λ ν΄λ‘μ κ° ν¨μλ₯Ό νμΆνλ€κ³ νλ€. ν΄λ‘μ λ₯Ό 맀κ°λ³μλ‘ κ°λ ν¨μλ₯Ό μ μΈν λ 맀κ°λ³μ μ΄λ¦μ μ½λ‘ (:) λ€μ @escaping ν€μλλ₯Ό μ¬μ©νμ¬ ν΄λ‘μ κ° νμΆνλ κ²μ νμ©νλ€κ³ λͺ μν΄μ€ μ μλ€
νμΆ ν΄λ‘μ λ₯Ό 맀κ°λ³μλ‘ κ°λ ν¨μ
var completionHandlers: [() -> Void] = []
func someFunctionWithEscapingClosure(completionHandler: @escaping () -> Void) {
completionHanlers.append(completionHandler)
}
μλ ν΄λ‘μ
ν¨μμ μ λ¬μΈμλ‘ μ λ¬νλ ννμ μλμΌλ‘ λ³νν΄μ£Όλ ν΄λ‘μ μ΄λ€.
μλ ν΄λ‘μ λ μ λ¬μΈμλ₯Ό κ°κ³ μμ§ μλλ€.
'π iOS > κΈ°μ΄λ¬Έλ²' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Swift κΈ°μ΄] 맡, νν°, 리λμ€ (0) | 2023.01.27 |
---|---|
[Swift κΈ°μ΄] μ΅μ λ 체μ΄λκ³Ό λΉ λ₯Έ μ’ λ£ (2) | 2023.01.19 |
[Swift κΈ°μ΄] μ κ·Όμ μ΄ (0) | 2023.01.18 |
[Swift κΈ°μ΄] μΈμ€ν΄μ€ μμ± λ° μλ©Έ (0) | 2023.01.15 |
[Swift κΈ°μ΄] νλ‘νΌν°μ λ©μλ (0) | 2023.01.10 |