1. @IBDesignable, @IBInspectable 두 어노테이션 모두 스토리보드와 상호작용을 하는 어노테이션이다. @IBInspectable로 변수 선언 전에 명시하면 해당 속성은 스토리보드의 Inspect Area에서 수정이 가능하다. 다만, 여기서 속성을 수정해도 빌드가 되어 시뮬레이터나 기기에서 결과물을 보기 전에는 변화를 알수가 없다. @IBDesignable을 클래스 위에 선언하면 실시간으로 스토리보드에 변경된 속성이 부여된다. 보통 디자이너와 코더의 협업을 위해 쓰는 기능이라고 들었는데 얼마나 도움이 되는지 조금 아리송하다.
2. didSet으로 변수를 조작할때 변화를 감지하여 그때마다 뷰를 새로 그리는 방식으로 화면을 조작할 수 있다.