[Library] Code Base에서 UI 인스턴스를 직관적으로 만들어보자, Then
2023. 10. 17. 11:45ㆍFramework, Library
💡Then이란?
Code Base로 iOS 개발을 할 때, 조금 더 UI 인스턴스를 직관적이고 편하게 만들 수 있도록 도와주는 라이브러리다.
✍🏻 Then 라이브러리 깃허브 살펴보기
클로저를 기반으로 사용한다.
특히, 단축인자 이름을 이용해서 길고긴 뷰 이름을 일일이 작성하지 않고, $0과 같이 간단하게 표현할 수 있다는 것이 인상적이다.
💡Then을 설치해보자!
Podfile에 pod 'Then'을 작성해주기만 하면 된다.
✍🏻 Podfile 설치하는 방법을 모르겠다면?
💡그래서, 어떻게 Then을 사용하는데?
UI 인스턴스를 선언해 주고, 그 뒤에 then이라는 키워드와 함께 클로저를 열어주기만 하면 되는 아주 간단한 방법이다.
UI 인스턴스를 선언해주고, 그 안에 전달할 UI 객체와 특성을 지정해서 반환까지 시켜줘야 했던 기존 방법과 다르게,
Then을 사용하면, UI 인스턴스를 선언하고 클로저 내부에 별도의 객체 선언과 반환값을 지정해주지 않아도 된다.
UI 인스턴스의 특성을 지정하고 싶으면, 단축인자 $0을 통해 지정해 주면 되겠다.
아래 코드를 통해 Then을 사용하기 전, 후의 코드 길이와 직관성을 비교해 보길 바란다.
private let locationStackView: UIStackView = {
let stackView = UIStackView()
stackView.axis = .vertical
stackView.distribution = .fillEqually
stackView.spacing = 15
return stackView
}()
private let locationView: UIImageView = {
let imageView = UIImageView()
imageView.image = #imageLiteral(resourceName: "listCloudImage")
return imageView
}()
private let myLocationLabel: UILabel = {
let label = UILabel()
label.text = "My Location"
label.textColor = .white
label.font = UIFont(name: "SFPro-Heavy", size: 25)
return label
}()
private let locationStackView = UIStackView().then {
$0.axis = .vertical
$0.distribution = .fillEqually
$0.spacing = 15
}
private let locationView = UIImageView().then {
$0.image = #imageLiteral(resourceName: "listCloudImage")
}
private let myLocationLabel = UILabel().then {
$0.text = "My Location"
$0.textColor = .white
$0.font = UIFont(name: "SFPro-Heavy", size: 25)
}
'Framework, Library' 카테고리의 다른 글
[Combine] Combine 진짜 알기 쉽게 정리해서 올려줄게 (1) - Combine 기초 개념 이해하기 (1) | 2024.08.08 |
---|---|
[WebKit] WKWebView를 사용해서 앱 사용 중, 웹으로 연결시켜보자 (1) | 2024.02.15 |
[CocoaPods] Podfile 설치 방법과 설치하면서 발생했던 Sandbox: rsync.samba deny(1) 에러 해결방법 (2) | 2023.10.15 |
[CoreML] Apple도 AI 한다고 (1) - CoreML의 기본 개념을 배워보자 (0) | 2023.04.14 |
[KakaoSDK] 사업자 번호가 없을 때, 비즈 앱 전환방법을 알아보자 (1) | 2022.01.29 |