728x90
import SwiftUI
struct SwiftUIView: View {
var customClousure: (String, String) -> String = { a, b in
return "\(a), \(b)!"
}
var body: some View {
Text("Hello, World!")
Text(customClousure("Hello", "World"))
Text(customString(a: "Hello", b:"World"))
}
func customString(a: String, b: String) -> String {
return "\(a), \(b)!"
}
}
#Preview {
SwiftUIView()
}
함수가 유용한 경우
- 재사용이 필요한 경우 → 여러 곳에서 호출하여 반복적으로 사용할 때.
- 명확한 의미가 필요한 경우 → 코드 가독성을 높이기 위해 특정 로직에 이름을 부여할 때.
- 논리적으로 분리할 필요가 있는 경우 → 한 기능을 여러 작은 단위로 나누어 관리할 때.
- 디버깅과 유지보수가 필요한 경우 → 명명된 함수는 로그 및 디버깅이 더 쉬움.
- 함수를 다른 함수에 전달해야 하지만 클로저보다 명확성이 필요한 경우 → 클로저보다 함수명이 의미를 명확하게 전달할 수 있음.
클로저가 유용한 경우
- 고차 함수(map, filter, sorted 등)와 함께 사용할 때 → 짧고 간결한 코드가 가능.
- 일회성 코드가 필요한 경우 → 별도로 정의할 필요 없이 한 번만 실행하는 로직이 필요할 때.
- 비동기 작업 (네트워크 요청, 애니메이션 등)에서 콜백 처리할 때 → 실행이 끝난 후 특정 동작을 수행해야 할 때.
- 외부 변수 값을 캡처해서 내부에서 사용할 때 → 특정 상태를 유지하며 값이 변경되는 로직이 필요할 때.
- 간결한 표현이 가독성을 높이는 경우 → 간단한 연산을 수행할 때 별도 함수 선언 없이 클로저를 바로 전달하는 것이 더 직관적일 때.
728x90
'iOS > Swift' 카테고리의 다른 글
SwiftData 에서 여러개의 모델을 가져올 때 어떻게 해야할까? (1) | 2025.04.18 |
---|---|
View에서 parameter를 선언할때 var, let 선택 기준 (2) | 2025.04.13 |
Swift 에서의 프로퍼티(Property) (0) | 2025.03.21 |
Swift 에서의 Generics(제너릭) (0) | 2025.03.20 |
SwiftUI 로 고차함수 예제코드 (0) | 2025.03.19 |