편의 생성자

clipToBounds vs MaskToBounds

둘 다 부모 View를 벗어나도 그릴지 결정하는 변수

ClipToBounds → View

MaskToBounds → CALayer

Responder Chain

처리 되지 않은 이벤트를 처리 가능한 Responder로 전달하는 과정

addTarget(self, action: #selector, for: )

위 함수에서 self가 Responder Chain을 의미한다.

→ nil로 넣으면 Framework가 정한 responder Chain을 따라가겠다는 의미

Closure Capture

{ [val1, val2] _ in
}

layoutIfNeeded vs setNeedsLayout

둘 다 layoutSubview, 즉 view 업데이트 호출을 기대하는 함수이다.

layoutIfNeeded

Main Runloop에 즉시반영 될 것을 기대한다

setNeedsLayout

RunLoop의 다음 시기에 업데이트를 기대한다.