본문 바로가기

카테고리 없음

Swift 라이브러리 Then 알아보기

반응형

깃허브에서 다른 분들의 코드를 보며 공부를 하다보면 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 = "나의 이름은 ***입니다. "
    }

 

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

반응형