카테고리 없음

Swift 라이브러리 Then 알아보기

끄적.. 2022. 9. 3. 14:42
반응형

깃허브에서 다른 분들의 코드를 보며 공부를 하다보면 Then 이라는 라이브러리를 쓰는 것을 많이 봤다. 

 

이게 뭘까? 어렵게 느껴져서 미루다 직접 찾아보니 생각보다 간단한 라이브러리였다. 

https://github.com/devxoul/Then

 

GitHub - devxoul/Then: ✨ Super sweet syntactic sugar for Swift initializers

✨ Super sweet syntactic sugar for Swift initializers - GitHub - devxoul/Then: ✨ Super sweet syntactic sugar for Swift initializers

github.com

Then 이란?

 Super sweet syntactic sugar for Swift initializers.

Swift 이니셜라이즈용 구문이다.(간단한)

 

그러면 어떻게 사용할까?

Then + snapkit을 함께 사용한다.

 

Then은 이니셜 라이즈 코드를 간단하게, Snapkit은 레이아웃 코드를 간단하게 만들어 준다. 

따라서 쿵짝(?)이 잘 맞는 것 같다. 

반응형

코드를 보며 이해해보자 

 

 

Then을 사용하지 않았을 때 

    let nameLabel: UILabel = {
        let label = UILabel()
        label.textAlignment = .center
        label.textColor = .black
        label.font = .systemFont(ofSize: 30)
        label.backgroundColor = .red
        label.text = "나의 이름은 ***입니다."
        return label
    }()
    override func viewDidLoad() {
        super.viewDidLoad()
        
        self.view.addSubview(nameLabel)
        nameLabel.snp.makeConstraints { make in
            make.width.equalTo(self.view)
            make.height.equalTo(100)
            make.top.equalTo(self.view.safeAreaLayoutGuide)
        }
    }

이렇게 결과가 나온다. 

 

Then을 사용했을 때

 

    let secondNameLabel = UILabel().then {
        $0.textAlignment = .center
        $0.textColor = .black
        $0.font = .systemFont(ofSize: 30)
        $0.backgroundColor = .red
        $0.text = "나의 이름은 ***입니다. "
    }

 

클로저를 이용해 좀 더 직관적인 코드를 만들 수 있었다. 

반응형