-
[OpenLibrary] Then 라이브러리 사용해보기Archive/iOS & Swift 2022. 4. 29. 21:03728x90
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
728x90'Archive > iOS & Swift' 카테고리의 다른 글
[공식문서] Singleton 공부해보기 1/2 (0) 2021.06.13 [공식문서] MVC: Model-View-Controller 공부해보기 1/2 (0) 2021.06.13 - Then 라이브러리는