Joe's Blog

iOS 開發筆記

01 Mar 2020

NSObject 鏈式 Setter

before:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
let subView: UIView = .init(frame: .zero)
subView.translatesAutoresizingMaskIntoConstraints = false
subView.clipsToBounds = true
subView.layer.cornerRadius = 10

if Bool.random() {
    subView.backgroundColor = .black
}
else {
    subView.backgroundColor = .white
}

after:

1
2
3
4
5
6
7
let subView: UIView = .init(frame: .zero)
    .setup(\.translatesAutoresizingMaskIntoConstraints, value: false)
    .setup(\.clipsToBounds, value: true)
    .setup(\.layer.cornerRadius, value: 10)
    .setup(\.backgroundColor) { // 使用條件式
        Bool.random() ? .black : .white
    }