UIModalPresentationStyle, 리스코프 치환 원칙

나이든별 / Oldstar·2022년 5월 14일
0

Think about Keywords

목록 보기
18/37

공부한 것

  • UIModalPresentationStyle
  • 리스코프 치환 원칙

고민한 점 및 생각해본 점

  • viewWillAppear()가 작동하지 않던 이유를 드디어 찾았다. UIModalPresentationStyle의 기본값은 automatic이고, 이를 사용할 시 뒤의 뷰가 모달하게 불러와져서 이전 뷰가 가려지더라도 앞의 뷰가 사라지지 않기 때문에, 뷰 라이프사이클 함수가 작동하지 않는 것이다.
  • 해당 값을 fullScreen으로 바꿔 주면, 그제서야 작동이 된다. 이를 통해 드디어 viewWillAppear()를 사용할 수 있었다.
  • 하지만 viewWillAppear()를 오버라이딩하는 과정에서 super.viewWillAppear()를 실수로 하지 않았다. 악악
  • 리스코프 치환 원칙은, 상위 타입의 객체를 하위 타입의 객체로 교체해도 문제없이 작동해야 한다는 것이다.
  • 즉 상속받은 클래스에서 부모 클래스의 함수를 오버라이딩하려면, 최소한 super 함수를 불러 주어야 한다는 것이다.
  • 다만 이를 위해 이미 개발되어 있는 코드를 수정하면, 개방-폐쇄 원칙에 위배될 소지가 있다.
  • 두 가지를 다 준수하면서 코드를 짤 방법을 생각해보자.
  • 나아가, 객체지향 프로그래밍에 대해 공부할 필요성을 느꼈다. 객사오라도 사서 봐야 하나.. 하는 생각.

참조

https://developer.apple.com/documentation/uikit/uimodalpresentationstyle/fullscreen (UIModalPresentationStyle.fullScreen)
https://ko.wikipedia.org/wiki/%EB%A6%AC%EC%8A%A4%EC%BD%94%ED%94%84_%EC%B9%98%ED%99%98_%EC%9B%90%EC%B9%99 (리스코프 치환 원칙)
https://brownbears.tistory.com/579 (리스코프 치환 원칙과 예시)

profile
함께 나아가고자 하는 사람

0개의 댓글