[TIL] Then 라이브러리

Eden·2025년 7월 10일

Then은 Swift에서 초기화 이후 속성을 간편하게 설정할 수 있도록 도와주는 경량 유틸리티 라이브러리입니다.
가독성을 높이고 코드량을 줄일 수 있어 UI 구성 시 자주 사용됩니다.


1. Then이란?

  • 클래스/구조체 인스턴스를 초기화한 후 클로저 문법을 통해 속성을 설정하는 기능 제공
  • NSObject, AnyObject, struct 등 다양한 타입에서 사용 가능
  • 코드의 가독성과 일관성을 높임

2. 설치 방법 (Swift Package Manager)

.package(url: "https://github.com/devxoul/Then.git", from: "3.0.0")

또는 Xcode > File > Add Packages… 에서 위 URL 추가


3. 기본 사용법

일반적인 초기화 방식

let label = UILabel()
label.text = "Hello"
label.textColor = .black
label.textAlignment = .center

Then을 사용한 방식

let label = UILabel().then {
    $0.text = "Hello"
    $0.textColor = .black
    $0.textAlignment = .center
}
  • then 블록 안에서 $0을 사용해 속성 설정
  • 체이닝과 비슷한 문법으로 구성 가능

4. struct에서도 사용 가능

struct User {
    var name: String
    var age: Int
}

extension User: Then {}

let user = User(name: "", age: 0).then {
    $0.name = "Alice"
    $0.age = 30
}
  • struct는 Then 프로토콜을 직접 채택해야 사용 가능

5. 장점

  • 코드 가독성 향상
  • 코드 라인 수 감소
  • 설정 코드를 한 곳에 모아 관리 가능
  • Swift 문법과 잘 어울림

6. 주의사항

  • 단순 문법 유틸이며, 과도한 사용은 코드 가독성을 떨어뜨릴 수 있음
  • 메모리 순환에 대한 직접적인 영향은 없지만, 클로저 내부에서 self 사용 시 주의 필요

결론

Then은 Swift에서 객체의 초기 설정을 간편하게 만들기 위한 유틸리티로, 특히 UI 구성 코드에서 높은 가독성과 생산성을 제공합니다.
명확하고 일관된 설정이 필요한 코드에서 유용하게 사용할 수 있습니다.

profile
iOS Dev

0개의 댓글