ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [OpenLibrary] Then 라이브러리 사용해보기
    Archive/iOS & Swift 2022. 4. 29. 21:03

    Then 은 iOS 개발자 전수열님이 만드신 오픈 소스 라이브러리이다.

    워낙 유명해서 처음 접한 이후로 지금까지 꾸준히 사용하고 있는데 간단한 기능이니 만큼,
    코드 구현이나 메서드에 관해 공부해보지 않은 것 같아서 요리조리 살펴보고자한다.

    Then

    Swift 이니셜라이저를 위한 Super sweet syntactic sugar 라고 설명하고 있다.

    설치

    개요

    let label: UILabel = {
       let label = UILabel()
       label.textAlignment = .center
       label.textColor = .black
       label.text = "Hello, World!"
       return label
    }()

    다음과 같이 클로저를 이용해서 프로퍼티 값을 설정한 초기화 방법을

    let label = UILabel().then {
       $0.textAlignment = .center
       $0.textColor = .black
       $0.text = "Hello, World!"
    }

    이렇게 간결하게 작성할 수 있게 도와주는 기능을 한다.

    사용법

    • Then 라이브러리는 NSObject 클래스에 채택되어 사용가능하고, 원하면 커스텀 사용자 타입에 채택할 수 있다.
      extension MyType: Then {}
      let instance = MyType().then {
       $0.really = "awesome!"
      }
    • with() 메서드는 값 타입을 복사할때 사용한다
      let newFrame = oldFrame.with {
       $0.size.width = 200
       $0.size.height = 100
      }
      newFrame.width // 200
      newFrame.height // 100
      // 기존 값에 원하는 기능을 추가한 인스턴스를 반환해준다.
    • do() Then()과 기능의 차이는 없지만 여러 내부 프로퍼티 값을 수정 할때 클로저로 간결한 가독성을 제공한다
      UserDefaults.standard.do {
       $0.set("devxoul", forKey: "username")
       $0.set("devxoul@gmail.com", forKey: "email")
       $0.synchronize()
      }

    후기

    굉장히 간결한 사용법과 편리성을 제공해서 많이 애용하고 있는데
    do, with 메서드등을 모르고 지낸것 같다.
    두 메서드를 구분해서 사용한다면 더욱 편리한 코드가 될 것 같았다..

    Reference by : https://github.com/devxoul/Then by devxoul

Designed by Tistory.