iOS/Swift

Swift 함수와 Clousure 의 예제코드

태애니 2025. 3. 26. 22:39
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()
}

 

 

 

 

함수가 유용한 경우

  1. 재사용이 필요한 경우 → 여러 곳에서 호출하여 반복적으로 사용할 때.
  2. 명확한 의미가 필요한 경우 → 코드 가독성을 높이기 위해 특정 로직에 이름을 부여할 때.
  3. 논리적으로 분리할 필요가 있는 경우 → 한 기능을 여러 작은 단위로 나누어 관리할 때.
  4. 디버깅과 유지보수가 필요한 경우 → 명명된 함수는 로그 및 디버깅이 더 쉬움.
  5. 함수를 다른 함수에 전달해야 하지만 클로저보다 명확성이 필요한 경우 → 클로저보다 함수명이 의미를 명확하게 전달할 수 있음.

클로저가 유용한 경우

  1. 고차 함수(map, filter, sorted 등)와 함께 사용할 때 → 짧고 간결한 코드가 가능.
  2. 일회성 코드가 필요한 경우 → 별도로 정의할 필요 없이 한 번만 실행하는 로직이 필요할 때.
  3. 비동기 작업 (네트워크 요청, 애니메이션 등)에서 콜백 처리할 때 → 실행이 끝난 후 특정 동작을 수행해야 할 때.
  4. 외부 변수 값을 캡처해서 내부에서 사용할 때 → 특정 상태를 유지하며 값이 변경되는 로직이 필요할 때.
  5. 간결한 표현이 가독성을 높이는 경우 → 간단한 연산을 수행할 때 별도 함수 선언 없이 클로저를 바로 전달하는 것이 더 직관적일 때.

 

 

728x90