SwiftUI는 State, Binding, ObservableObject등의 값이 변경될때마다 뷰가 리프레시 되는데, UIKit이나 objc에선 어떻게 리프레시 되는지 몰라서 한번 찾아보았음.
Moving or removing another view that was partially obscuring your view
Making a previously hidden view visible again by setting its hidden property to NO
Scrolling a view off of the screen and then back onto the screen
Explicitly calling the setNeedsDisplay or setNeedsDisplayInRect: method of your view