TIL - 2021.03.16 (Tue)

Youngwoo Lee·2021년 3월 18일
0

TIL

목록 보기
11/29
post-thumbnail

오늘 공부한 주제

뷰의 상태변화 감지 메서드

뷰가 화면에 보여지는 상태의 변화나 뷰의 레이아웃에 변화가 생기면 뷰 컨트롤러는 여러가지 메서드를 호출해 서브클래스가 적절한 대응을 할 수 있게 한다.

Apple Developer Documentation

  • func viewDidLoad()
    • 뷰 계층이 메모리에 로드된 직후 호출되는 메서드
    • 뷰의 추가적인 초기화 작업을 하기 좋은 시점
    • 메모리에 처음 로딩 될때 1회 호출되는 메서드로, 메모리 경고로 뷰가 사라지지 않는 이상 다시 호출되지 않음
  • func viewWillAppear(_ animated: Bool)
    • 뷰가 뷰 계층에 추가되고 화면이 표시되기 직전에 호출되는 메서드
    • 뷰의 추가적인 초기화 작업을 하기 좋은 시점
    • 다른 뷰로 이동했다가 되돌아오면 재호출되는 메서드로, 화면이 나타날때마다 수행해야하는 작업을 하기 좋은 시점
  • func viewDidAppear(_ animated: Bool)
    • 뷰가 뷰 계층에 추가되어 화면이 표시되면 호출되는 메서드
    • 뷰를 나타내는 것과 관련된 추가적인 작업을 하기 좋은 시점
  • func viewWillDisappear(_ animated: Bool)
    • 뷰가 뷰 계층에서 사라지기 직전에 호출되는 메서드
    • 뷰가 생성된 뒤 발생한 변화를 이전상태로 되돌리기 좋은 시점
  • func viewDidDisappear(_ animated: Bool)
    • 뷰가 뷰 계층에서 사라진 후 호출되는 메서드
    • 뷰를 숨기는 것과 관련된 추가적인 작업을 하기 좋은 시점
    • 시간이 오래 걸리는 작업은 하지 않는 것이 좋음

해결하지 못한 것

JuiceMaker - Step2 진행

Step2에서 @IBAction func orderJuice() 함수를 각 버튼마다 하나씩 생성하는 것이 아닌 전체를 포괄할 수 있는 함수를 하나 만들고 싶었다

  • 그래서 UIButton을 상속하는 클래스를 하나 생성하여 버튼마다의 Property로 Juice 타입 값을 주고 싶었다
  • But, 막상 해보니 @IBOutlet도 연결이 안된다... 이유는?? 못찾았다

해결방법

- 어디선가 잘못 이해한 것 같다. 처음부터 다시...

  • 03/17 해결 성공 어이 없게도... storyboard 에서 button 타입을 OrderJuiceButton으로 바꾸지 않아서 그랬다... 침착히 좀 찾아보자...
profile
iOS Developer Student

0개의 댓글